私は bash スクリプト内で文字列変数を渡そうとしていますが、スクリプト内のコメントに渡そうとしています。
コマンドラインでは、次のように渡すことができると考えました。
./script.sh specific_string_variable
そして、私の bash スクリプト内では、コメント行が次のように更新されます。
#heres the comment line with this variable inserted: specific_string_variable
これは可能ですか?
明らかなことであれば申し訳ありません。私は初心者です。ありがとうございます :)
答え1
スクリプト内に次の行を追加するだけです。
echo "#heres the comment line with this variable inserted:" $1 >> script.sh
説明 :
$1
は文字列変数です。文を使用する場合は、2つの方法があります。- バックスラッシュを使う
\
とtest\ magic\ beautiful
(\
スペースは文字です) - 二重引用符()
"
のように使用し、"test magic beautiful"
内部""
はすべてキャラクター)
- バックスラッシュを使う
>>
スクリプトの最後にテキストを追加しますが、単純なスクリプトでは>
スクリプトを消去してテキストを書きます- コメントは二重引用符で囲む必要があります
"
実行前と実行後のスクリプトは次のとおりです。
damadam@Pc:~$ cat script.sh
echo "#heres the comment line with this variable inserted:" $1 >> script.sh
damadam@Pc:~$ ./script.sh test
damadam@Pc:~$ cat script.sh
echo "#heres the comment line with this variable inserted:" $1 >> script.sh
#heres the comment line with this variable inserted: test
2単語の文字列で:
damadam@Pc:~$ ./script.sh test\ magic
damadam@Pc:~$ cat script.sh
echo "#heres the comment line with this variable inserted:" $1 >> script.sh
#heres the comment line with this variable inserted: test
#heres the comment line with this variable inserted: test magic