2

これはスクリプトです:

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。それは理にかなっていますか?

要約すると:

  1. 一番上にあるのはどういうfile=$1意味ですか、それのポイントは何ですか?
  2. は何の$opt略で、どういう意味ですか?
  3. とはどういうiopt=1意味ですか?
  4. スクリプトを次のように使用したい場合: MyScriptName -r [InsertFilenameHere]どうすればよいでしょうか?

私は非常に多くのことを尋ねていることを知っています - もし私の質問のいくつかに答えていただければ、または私に正しい方向を教えていただければ幸いです!

前もって感謝します。

4

1 に答える 1