C言語のプログラムをテストするbashスクリプトの文字列があります。配列の内容は、次のようにされていますスラッシュを含むbashの変数から文字列の一部を削除します。
PASSED TESTS: (4)
✓ tests/test_sample_one.in
✓ tests/test_sample_two.in
✓ tests/test_sample_three.in
✓ tests/test_sample_four.in
しかし私はこのようにそれをプリントアウトしたい:ここ
PASSED TESTS: (4)
✓ test_sample_one
✓ test_sample_two
✓ test_sample_three
✓ test_sample_four
私は結果をプリントアウトするために書かれたコードの一部です。私はこれがすべて関連していると思うが、私は要求に応じてさらなるコードを投稿できる。
私は最後に.in
を削除するために行i=${i%.*}
を正常に使用しているが、ラインi=${i#*/ }
は/
前の文字を削除で動作するようには思えません。
printf "PASSED TESTS: ($passed_tests)\n\n"
for i in "${passed_tests_arr[@]}"
do
printf "✓ "
i=${i%.*}
i=${i#*/ }
echo "$i"
done
とループを少し短くする空白を削除することができ、ジョブ$ {I#* /}働い – sigmalha
@sigmalhaを行います。この質問のためのスタックフローに関する適切な行動方針は何でしょうか。質問を削除するか、構文が正しいことが今すぐうまくいく理由についてアドバイスをして質問に回答する方が良いでしょうか? – joshuatvernon