これはスクリプトです:
file=$1
while getopts ":ivr" opt; do
case $opt in
i) iopt=1;;
v) vopt=1;;
r) ropt=1;;
\?)echo "invalid option: -$OPTARG" >
esac
done
shift $(($OPTIND-1))
だから私が本当に理解している唯一の部分はシフト$(($OPTIND-1))
です。誰かが残りが実際に何をしているのか説明できますか? 上の意味file=$1
はなんですか?これは、「ファイル」という単語が$1
列の値に割り当てられたということですか?
$0
「$1 列」とは、コマンドが実行されると、コマンドの実際の名前に割り当てられ$1
、2 番目に指定されたオプション/引数であり、3 番目に指定されたオプション/引数であるという事実を指してい$2
ます。たとえば、次のように入力した場合:
rm -r directory/randomfiles
その場合$0
は rm になります。-r
でしょう$1
。とdirectory/randomfiles
なります$2
。それは理にかなっていますか?
要約すると:
- 一番上にあるのはどういう
file=$1
意味ですか、それのポイントは何ですか? - は何の
$opt
略で、どういう意味ですか? - とはどういう
iopt=1
意味ですか? - スクリプトを次のように使用したい場合:
MyScriptName -r [InsertFilenameHere]
どうすればよいでしょうか?
私は非常に多くのことを尋ねていることを知っています - もし私の質問のいくつかに答えていただければ、または私に正しい方向を教えていただければ幸いです!
前もって感謝します。