通常、複数の「n」で始まる位置引数を取得するにはどうすればよいですか?

通常、複数の「n」で始まる位置引数を取得するにはどうすればよいですか?

($ @)は1から始まる位置パラメータに展開されます。

複数の一般から始まる位置パラメータを取得するにはn

コマンドの引数として2つで始まる位置引数を使用したいと思います。例えば、

myCommand $@

ベストアンサー1

5番目から始まる位置引数の場合:

  • zshまたはyash

    myCommand "${@[5,-1]}"
    

    (いつものように、上記の引用は重要です。そうしないと、すべての要素がSplit + globの対象となるか、空のyash要素が削除されますzsh。)

  • ksh93bashまたはzsh:

    myCommand "${@:5}"
    

    (再び、引用符が重要です)

  • Bourne型シェル(上記のすべてのシェルを含む)

    (shift 4; myCommand "$@")
    

    (サブシェルを使って移動するそこでのみ発生します)。

  • cshに似たシェル:

    (shift 4; myCommand $argv:q)
    

    (サブシェル)

  • fish:

    myCommand $argv[5..-1]
    
  • rc:

    @{shift 4; myCommand $*}
    

    (サブシェル)

  • rc/ es:

    myCommand $*(`{seq 5 $#*})
    
  • es:

    myCommand $*(5 ...)
    

おすすめ記事