cshでスクリプトに引数を渡す際のメモ.
スクリプト名をexchange.shとすると
$ exchange.sh 引数1 引数2
として記述することで引数をスクリプトに渡すことが可能.
この際スクリプトでは $1 ~ $9に記述した引数が順に代入される.
(よっぽどのことがないと9個も引数つけないだろう...)
やりたかったこと.
引数に応じて特定のファイル内の文字列を書き換える.
#!/bin/csh set hoge=$1 file_path="hoge.txt" # 引数に応じて置換する文字列を設定 if (${duplex} == "0") then set replace_string="fugafuga = 0;" set echo "fugafuga set to 0." else (${duplex} == "1") then replace_string="fugafuga = 1;" echo "fugafuga set to 1." else echo "Invalid input. Please enter 0 or 1." exit 1 endif endif #該当の文字列を検索して置換 sed -i 's/fugafuga = 1;/${replace_string}/' ${file_path}
ChatGPTが出力したものを修正,引用. もうちょっとスマートに書けそうだな.