11 どうすればよいですか。 set foo bar baz unset # Something else here echo $# # Should ouput 0 を実行するとset ""、$#0ではなく1になります。 shell parameter — ティロ ソース
14 わかりました、これは単に愚かset --でした。 — ティロ ソース @ギレス:bashのmanページによると、set -引数を指定しないと、位置パラメータは変更されません。 — camh '19 @camh同意しないでください。マニュアルでこれを確認します:set-このオプションの後に引数がない場合、定位置パラメーターは設定されていません。それ以外の場合、位置パラメータは、それらの一部が-で始まっていても、argsに設定されます。 — kdubs @kdubsは、manページを引用していますset --。私はset -(単一のハイフン)を使用しました。これは、「引数がない場合、位置パラメータは変更されないままです」と述べています。 — camh あなたが正しいです。私は彼らを混乱させました。私の画面はあなたを作りました-のように見えます-– — kdubs
4 以下を使用して、すべての定位置パラメーターを簡単に設定解除します。 shift $# 最初の3つの位置パラメータを削除するには: shift 3 最初のN個の位置パラメータから「ポップ」シフトします。$#を使用して、位置パラメーターの総数を取得します。したがって、コマンドはすべての定位置パラメーターをポップします。 — ノア ソース
set -
引数を指定しないと、位置パラメータは変更されません。