From c99c03c659aebe851b0e6c79c212b6705b9e9c3a Mon Sep 17 00:00:00 2001 From: "Carol (Nichols || Goulding)" Date: Sat, 1 Jan 2022 22:17:49 -0500 Subject: [PATCH] Make fixes recommended by shellcheck --- ci/validate.sh | 4 ++-- tools/convert-quotes.sh | 2 +- tools/doc-to-md.sh | 2 +- tools/megadiff.sh | 2 +- tools/nostarch.sh | 2 +- tools/update-rustc.sh | 28 ++++++++++++++-------------- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ci/validate.sh b/ci/validate.sh index 04a3bf48..9d65bc16 100755 --- a/ci/validate.sh +++ b/ci/validate.sh @@ -3,6 +3,6 @@ set -eu for file in src/*.md ; do - echo Checking references in $file - cargo run --quiet --bin link2print < $file > /dev/null + echo Checking references in "$file" + cargo run --quiet --bin link2print < "$file" > /dev/null done \ No newline at end of file diff --git a/tools/convert-quotes.sh b/tools/convert-quotes.sh index 8508e970..bffe8235 100755 --- a/tools/convert-quotes.sh +++ b/tools/convert-quotes.sh @@ -5,7 +5,7 @@ set -eu mkdir -p tmp/src rm -rf tmp/*.md -for f in src/${1:-""}*.md +for f in src/"${1:-\"\"}"*.md do cargo run --bin convert_quotes < "$f" > "tmp/$f" mv "tmp/$f" "$f" diff --git a/tools/doc-to-md.sh b/tools/doc-to-md.sh index 170727db..49b0cdfe 100755 --- a/tools/doc-to-md.sh +++ b/tools/doc-to-md.sh @@ -3,7 +3,7 @@ set -eu # Get all the docx files in the tmp dir. -ls tmp/*.docx | \ +find tmp -name '*.docx' -print0 | \ # Extract just the filename so we can reuse it easily. xargs -n 1 basename -s .docx | \ while IFS= read -r filename; do diff --git a/tools/megadiff.sh b/tools/megadiff.sh index 9b0d9438..62ca7a0c 100755 --- a/tools/megadiff.sh +++ b/tools/megadiff.sh @@ -12,7 +12,7 @@ rm -rf tmp/book-after/css/ tmp/book-after/theme/ tmp/book-after/img/ tmp/book-af tmp/book-after/*.json tmp/book-after/print.html # Get all the html files before -ls tmp/book-before/*.html | \ +find tmp/book-before -name '*.html' -print0 | \ # Extract just the filename so we can reuse it easily. xargs -n 1 basename | \ while IFS= read -r filename; do diff --git a/tools/nostarch.sh b/tools/nostarch.sh index d802bf07..d8c79946 100755 --- a/tools/nostarch.sh +++ b/tools/nostarch.sh @@ -12,7 +12,7 @@ rm -rf tmp/markdown MDBOOK_OUTPUT__MARKDOWN=1 mdbook build -d tmp # Get all the Markdown files -ls tmp/markdown/${1:-""}*.md | \ +find tmp/markdown -name "${1:-\"\"}*.md" -print0 | \ # Extract just the filename so we can reuse it easily. xargs -n 1 basename | \ # Remove all links followed by ```, then diff --git a/tools/update-rustc.sh b/tools/update-rustc.sh index 53905bb4..5c9f178b 100755 --- a/tools/update-rustc.sh +++ b/tools/update-rustc.sh @@ -3,18 +3,18 @@ set -eu # Build the book before making any changes for comparison of the output. -echo 'Building book into `tmp/book-before` before updating...' +echo 'Building book into tmp/book-before before updating...' mdbook build -d tmp/book-before # Rustfmt all listings echo 'Formatting all listings...' find -s listings -name Cargo.toml -print0 | while IFS= read -r -d '' f; do - dir_to_fmt=$(dirname $f) + dir_to_fmt=$(dirname "$f") # There are a handful of listings we don't want to rustfmt and skipping # doesn't work; those will have a file in their directory that explains why. if [ ! -f "${dir_to_fmt}/rustfmt-ignore" ]; then - cd $dir_to_fmt + cd "$dir_to_fmt" cargo fmt --all && true cd - > /dev/null fi @@ -30,42 +30,42 @@ root_dir=$(pwd) echo 'Regenerating output...' # For any listings where we show the output, find -s listings -name output.txt -print0 | while IFS= read -r -d '' f; do - build_directory=$(dirname $f) + build_directory=$(dirname "$f") full_build_directory="${root_dir}/${build_directory}" full_output_path="${full_build_directory}/output.txt" tmp_build_directory="tmp/${build_directory}" - cd $tmp_build_directory + cd "$tmp_build_directory" # Save the previous compile time; we're going to keep it to minimize diff # churn - compile_time=$(sed -E -ne 's/.*Finished (dev|test) \[unoptimized \+ debuginfo] target\(s\) in ([0-9.]*).*/\2/p' ${full_output_path}) + compile_time=$(sed -E -ne 's/.*Finished (dev|test) \[unoptimized \+ debuginfo] target\(s\) in ([0-9.]*).*/\2/p' "${full_output_path}") # Save the hash from the first test binary; we're going to keep it to # minimize diff churn - test_binary_hash=$(sed -E -ne 's@.*Running [^[:space:]]+ \(target/debug/deps/[^-]*-([^\s]*)\)@\1@p' ${full_output_path} | head -n 1) + test_binary_hash=$(sed -E -ne 's@.*Running [^[:space:]]+ \(target/debug/deps/[^-]*-([^\s]*)\)@\1@p' "${full_output_path}" | head -n 1) # Act like this is the first time this listing has been built cargo clean # Run the command in the existing output file - cargo_command=$(sed -ne 's/$ \(.*\)/\1/p' ${full_output_path}) + cargo_command=$(sed -ne 's/$ \(.*\)/\1/p' "${full_output_path}") # Clear the output file of everything except the command - echo "$ ${cargo_command}" > ${full_output_path} + echo "$ ${cargo_command}" > "${full_output_path}" # Regenerate the output and append to the output file. Turn some warnings # off to reduce output noise, and use one test thread to get consistent # ordering of tests in the output when the command is `cargo test`. - RUSTFLAGS="-A unused_variables -A dead_code" RUST_TEST_THREADS=1 $cargo_command >> ${full_output_path} 2>&1 || true + RUSTFLAGS="-A unused_variables -A dead_code" RUST_TEST_THREADS=1 $cargo_command >> "${full_output_path}" 2>&1 || true # Set the project file path to the projects directory plus the crate name # instead of a path to the computer of whoever is running this - sed -i '' -E -e 's@(Compiling|Checking) ([^\)]*) v0.1.0 (.*)@\1 \2 v0.1.0 (file:///projects/\2)@' ${full_output_path} + sed -i '' -E -e 's@(Compiling|Checking) ([^\)]*) v0.1.0 (.*)@\1 \2 v0.1.0 (file:///projects/\2)@' "${full_output_path}" # Restore the previous compile time, if there is one if [ -n "${compile_time}" ]; then - sed -i '' -E -e "s/Finished (dev|test) \[unoptimized \+ debuginfo] target\(s\) in [0-9.]*/Finished \1 [unoptimized + debuginfo] target(s) in ${compile_time}/" ${full_output_path} + sed -i '' -E -e "s/Finished (dev|test) \[unoptimized \+ debuginfo] target\(s\) in [0-9.]*/Finished \1 [unoptimized + debuginfo] target(s) in ${compile_time}/" "${full_output_path}" fi # Restore the previous test binary hash, if there is one @@ -73,7 +73,7 @@ find -s listings -name output.txt -print0 | while IFS= read -r -d '' f; do replacement='s@Running ([^[:space:]]+) \(target/debug/deps/([^-]*)-([^\s]*)\)@Running \1 (target/debug/deps/\2-' replacement+="${test_binary_hash}" replacement+=')@g' - sed -i '' -E -e "${replacement}" ${full_output_path} + sed -i '' -E -e "${replacement}" "${full_output_path}" fi # Clean again @@ -83,7 +83,7 @@ find -s listings -name output.txt -print0 | while IFS= read -r -d '' f; do done # Build the book after making all the changes -echo 'Building book into `tmp/book-after` after updating...' +echo 'Building book into tmp/book-after after updating...' mdbook build -d tmp/book-after # Run the megadiff script that removes all files that are the same, leaving only files to audit