タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

shellに関するma38suのブックマーク (2)

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

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

    ma38su
    ma38su 2011/11/24
  • 技術メモ帳 - pgrep, pkill を使用してプロセスを殺す

    最近、会社でシェルの操作方法について教えているのだが、 pgrep / pkill / skill / pidof といった 便利なプロセス操作系コマンドを知らない人が実に多い。 プロセスを殺すというのは、よくある作業なので 今回はコレについて書いてみる。 たとえば、これらのコマンドを知らない人が、 指定した名前のプロセスを kill する手順はだいたい 以下のようなものになることだろう。 $ ps aux | grep プロセス名 | grep -v 'grep' # コマンドの出力結果から pid を目で確認 12345 ... .. hoge .. .. $ kill 12345 この作業は非常に面倒で退屈だ。 もし殺さなければならないプロセスがたくさんあったときは どうするのだろうか。 おまけに、grep コマンド自身が候補に含まれてしまう事があるのだが、 grep -v grep

  • 1