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が出力したものを修正,引用. もうちょっとスマートに書けそうだな.