diff -uNr a/vtools/manifest b/vtools/manifest --- a/vtools/manifest 5e11d4d3daca9f3d116806cbab37f38ce17fb6876cff7aa05f2f47b4e3055ce0117de27c02dae4b8c4741307f888266d678c8934cf63867b35f29dddc6d48c5e +++ b/vtools/manifest 35a57f6c4eaad4c3084874e6f97aceba39d8b54879b41a1498988fc45015bc618e72400887accc694e164f9704ecb33a8db29c6d135ea9880ec1345402eafda9 @@ -15,3 +15,4 @@ 615638 bvt vtools_add_vsh_utils Add utilities required by v-presser. 617378 bvt vtools_vsh_utils_one_binary Merge all v.sh Ada utilities into one. 617638 bvt vtools_vsh_ada_vfilter Add an implementation of vfilter in Ada. +619714 bvt vtools_vsh_shellcheck A round of shellcheck on the v.sh source. diff -uNr a/vtools/v.sh b/vtools/v.sh --- a/vtools/v.sh 2c3cf57471f96dbe84d4eb5827f6360c5cda5ae5bfca8c08e8656393e6b53581c23d04b28b182b135b3482efac49d5a324714f4cb7b510ba576bc1abd96d68dc +++ b/vtools/v.sh 535fd4d5c7268d52140490ddb24d4ada36a3269b5d285c98da2db542b6c0fe52a844e6c273fcb1ee9d6c45c04e2fdb82e48285e4e970485da5daa86c6c578e8e @@ -39,7 +39,7 @@ checkdir wot for i in wot/*.asc; do gpg --homedir "$vgpgdir" --logger-fd 1 --batch \ - --keyid-format=long --import $i >/dev/null 2>&1 + --keyid-format=long --import "$i" >/dev/null 2>&1 done } @@ -52,22 +52,22 @@ trap cleanup TERM INT exit_msg() { - echo $1 + echo "$1" cleanup } verify() { vpatchpath="$1" - vpatch="$(basename $vpatchpath)" + vpatch=$(basename "$vpatchpath") signers="" checkdir seals for i in seals/$vpatch.*.sig; do - signature="$(basename $i | sed 's/.sig$//g')" + signature=$(basename "$i" | sed 's/.sig$//g') signer="${signature#$vpatch.}" if ! gpg --homedir "$vgpgdir" --logger-fd 1 --batch \ --keyid-format=long \ - --verify "$i" "$vpatchpath" 2>&1 >/dev/null; then + --verify "$i" "$vpatchpath" >/dev/null 2>&1; then exit_msg "Bad signature $i for $vpatch" fi signers="$signers $signer" @@ -81,7 +81,7 @@ verifyall() { checkdir patches for i in patches/*.vpatch; do - verify $i; + verify "$i"; done } @@ -116,8 +116,7 @@ vpatchflow() { [ -z "$*" ] && exit_msg "No leaves selected." filterall | internall >"$filtered" - selected="" - if [ "$*" == "-" ]; then + if [ "$*" = "-" ]; then echo "S" >"$selfile" else echo $* | tr ' ' '\n' | vpatchnos | sed -e 's/^/s /g' - >"$selfile" @@ -152,19 +151,19 @@ loadwot -if [ "$1" == "wot" ]; then +if [ "$1" = "wot" ]; then gpg --homedir "$vgpgdir" --logger-fd 1 --batch --keyid-format=long -k cleanup fi verifyall -if [ "$1" == "patches" ]; then +if [ "$1" = "patches" ]; then cat "$vgpgdir"/signers.txt cleanup fi -if [ "$1" == "graph" ]; then +if [ "$1" = "graph" ]; then shift dotfile="$1" shift @@ -181,12 +180,12 @@ FILENAME=="-" && $1 == "d" {print "\""a[$3]"\" -> \""a[$2]"\""} ' "$vpatches" - <"$topo" >>"$dotfile" echo "}" >> "$dotfile" - dot -Tsvg $dotfile -o $svgfile + dot -Tsvg "$dotfile" -o "$svgfile" # dot -Tcmapx $dotfile -o $svgfile.html-map cleanup fi -if [ "$1" == "antecedents" ]; then +if [ "$1" = "antecedents" ]; then shift vpatch="$1" shift @@ -200,7 +199,7 @@ cleanup fi -if [ "$1" == "descendants" ]; then +if [ "$1" = "descendants" ]; then shift vpatch="$1" shift @@ -214,7 +213,7 @@ cleanup fi -if [ "$1" == "origin" ]; then +if [ "$1" = "origin" ]; then shift hash="$1" shift @@ -224,7 +223,7 @@ cleanup fi; -if [ "$1" == "flow" ]; then +if [ "$1" = "flow" ]; then shift vpatchflow $* @@ -236,7 +235,7 @@ cleanup fi -if [ "$1" == "press" ]; then +if [ "$1" = "press" ]; then shift dir="$1" shift @@ -248,7 +247,7 @@ vpatchflowerr awk '$1 == "P" {print $2}' < "$topo" | vpatchnames | while read i; do - i=$(readlink -f $i) + i=$(readlink -f "$i") cd "$dir" vpatch <"$i" >/dev/null cd - >/dev/null