BASH:echo -nを使用してコードを実行するためのステータスフレーズを分割します。

BASH:echo -nを使用してコードを実行するためのステータスフレーズを分割します。

Bashルーチンの一部として、ワークフローの状態に関するいくつかのメッセージを端末に印刷します。メッセージは2つの部分に分けられます。 (パート1:ジョブ開始、パート2:ジョブ完了ステータス)

echo -n "Dataset is being processed ! "; execution of some AWK script; echo " Processing has been COMPLETED!"

以下は、AWKコードの一部を使用してbashとして実装したものです。

# print pharase 1: initiation of the process
echo -n "Dataset is being rescored.. Please wait"; sleep 0.5 
# this is the process: makedir for the result and execute AWK code to process input file
mkdir ${results}
# Apply the following AWK code on the directory contained input file
while read -r d; do
awk -F, '
}'  "${d}_"*/target_file.csv > "${results}/"${d%%_*}".csv"
done < <(find . -maxdepth 1 -type d -name '*_*_*' | awk -F '[_/]' '!seen[$2]++ {print $2}')
# print pharase 2: finish of the result, which would appear in the terminal near phrase 1
# this will print "COMPLETED" letter-by-letter with the pause of 0.2 sec between each letter
echo -n " C"; sleep 0.2; echo -n "O"; sleep 0.2; echo -n "M"; sleep 0.2; echo -n "P"; sleep 0.2; echo -n "L"; echo -n "E"; sleep 0.2; echo -n "T"; echo -n "E"; sleep 0.2; echo "D!"

Bashでこのスクリプトを実行すると、すべてがうまく機能しているように見え、2つの "echo -n"ブロック間のコード部分に関連する問題は見つかりません。 「echo -n」を使用して状態フレーズを分割すると、bashのルーチンにいくつかのバグが発生する可能性がありますか?

ベストアンサー1

おすすめ記事