Bashの関数の後の数字は何をしますか?

Bashの関数の後の数字は何をしますか?

私は次のコードを見つけました。

function cursorBack() {
   echo -en "\033[$1D"
}
...
tput civis 
...
cursorBack 1

数字は何をしますか?

答え1

これは関数のパラメータです。$1文字列のecho部分に注意してください。これはbash関数で使用される最初のパラメータです。他のパラメータ(cursorBack 5evenなど)を使用して関数を実行し、cursorBack foo何が起こるかを確認してください。

echoコマンドの最初の部分はANSIエスケープで、その後に関数引数(数字)、最後に文字が続きますD。この文字は、戻る(文字を削除せずに削除と見なす)を意味するため、n位置(例では1位置)の後ろに移動します。

論理的に言えば、foo引数として使用すると期待どおりに実行されません。この特別な場合、引数は単に(整数)数でなければなりません。

関連情報