`shift $(($OPTIND -1))` で Shift コマンドを使用します。

`shift $(($OPTIND -1))` で Shift コマンドを使用します。

投稿を見ました。シェルコマンドの移動説明。そこにはコメントできないので、Shiftコマンドの使い方を知りたいです。これは、Shiftを使用した後にスクリプトに渡されたパラメータが空であることを意味しますか?このコマンドの利点は何ですか

ベストアンサー1

その結果、空の引数のリストが生成される場合とそうでない場合があります。これは、開始されたパラメーターの数とgetopts見つかった($ OPTINDに設定されている)関連パラメーターの数によって異なります。 getoptsは、で始まらないすべての引数を無視し、-後続の--引数をオプションとして処理するのをやめるようにgetoptsに指示しますrm -f -- -filenamebeginningwith-.txt

たとえば、5つのargsがある場合、-x -y -z file1 file2最初のshift 33つのargsは削除され、argsだけが残りますfile1 file2

おすすめ記事