タグ

shとbashに関するshoのブックマーク (2)

  • test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

    test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 拡張 POSIX シェルスクリプト Advent Calendar 2013、15日目の記事です。 書くのが遅れ、ネタは尽きかけ、 マニアックさやニッチさが足りなくなってきているような気がします。 ふつうの内容ですみません。 今日は test, [, [[ コマンドの違いについてざっくり紹介します。 [[ がある bash, ksh, zsh ならば test と [ の使用は避け、 [[ を使用すべきです。 [ は慎重に使わないと様々な罠にかかるため危険です。 (翌日のネタも併わせてどうぞ) test と [ の違い どちらもシェルの組込みコマンドです。名前が違うのと [ は最後の引数を ] にしなければいけない縛りがある以外、 動作まった

    sho
    sho 2014/02/22
    「[[」コマンドの存在を知らなかったという……何年シェル上で生活してるんだ
  • Linux で sh スクリプトを書くときは Debian がいいのか?

    Linux の /bin/sh て基的に bash ですな。で、これで sh スクリプトを書いてあると、あるときこれを *BSD とかでも使おうと思ったときにハマります。*BSD の /bin/sh は bash じゃないから1。 というようなことは 横着プログラミング 第11回: 小粒なツールたち でも触れられていて、ここで高林さんは 私はちょっと複雑なシェルスクリプトを書く場合には /bin/zsh を使うようにしている。 これは zsh の拡張機能を使いたいためということもあるが、「bashism」なシェルスクリプトを書くのを避けるためという意味も大きい。bashism なシェルスクリプトとは、#! /bin/sh で始まっているにも関わらず、 bash の拡張機能を使っているもののことである。 という豪快な解決法に辿り付いているんだけど、自分は逆に「Linux でもストイックに

    sho
    sho 2007/11/12
    Debianでashをインストールすると/bin/shのポータビリティが高まるぜ、という話。
  • 1