タグ

ブックマーク / d.hatena.ne.jp/kitokitoki (1)

  • シェルスクリプトの引数をそのまま別のコマンドにわたす command ${@+"$@"} - わからん

    シェルスクリプトの引数をそのまま別のコマンドにわたす。これは引数の多いコマンドに対し、いくつかの引数を固定にしたラッパーをつくるときなんかによく使います。今回の個人的なシェルスクリプトブームにのっかって、Bruce Blinn さんの名著「入門UNIXシェルプログラミング」にあった細かい指摘の仕組みも調べておきました。 以下の書き方では、引数がなかった場合、command に空文字が渡されてしまいます。細かいこと言っちゃってごめんね。 command "$@" だけど、次のようにすれば、空文字が渡りませんよ。 command ${@+"$@"} man を読むと、対象が null か unset されているなら何もパラメータ展開しない、つまり何もしないという定義をうまく適用したものだ、ということがわかりました。 ${parameter:+word} Use Alternate Value.

    ma38su
    ma38su 2011/11/24
  • 1