Questions tagged [sh]

sh ( 別名: Bourne Shell , ボーン・シェル ) は、 v7 Unix から長く標準的に使われている Unix シェルです。 POSIX がシェルの規格標準化を行っており、 環境依存を排除したシェルスクリプトを作成する際は、 /bin/sh の構文に従うべきです。

sh ( 別名: Bourne Shell , ボーン・シェル ) は、 v7 Unix から長く標準的に使われている Unix シェルです。 POSIX がシェルの規格標準化を行っています。 環境依存を排除したシェルスクリプトを作成する際は、 /bin/sh の構文に従うべきです。

Bourne Shell (sh) の後継は (別名: The Bourne-Again SHell) となります。

DOS, OS/2, Windows, PowerShellのバッチプログラミングについては別のタグ , 等を使用してください。

58 questions
14
votes
2 answers

if 文で [ "x$var" = "x" ] とする理由は?

シェルスクリプトをみていると、 if [ "x$var" = "x" ]; then : ... fi のような記述をしばしば見かけます。 [ -z "$var" ] や [ "$var" = "" ] ならばまだわかりますが、 x をわざわざはさむ理由は何ですか?
Yuki Inoue
  • 16,805
  • 19
  • 80
  • 196
8
votes
2 answers

標準入力と引数のどちらにも対応したbourne-shellスクリプト

標準入力が与えられた場合はそちらを行ごとに、そうでない場合は引数をまるまる1行として扱うスクリプトを作ろうとしています。 #!/bin/sh fetch_input () { [ -t 0 ] && echo "$1" || cat - } fetch_input "$*" | while IFS= read -r line do echo "reading: $line" done 標準入力が存在するかチェックするのに上のように[ -t…
ernix
  • 3,462
  • 12
  • 18
5
votes
2 answers

ある文字列とある文字列を辞書順での順序を判定したい

ある文字列とある文字列が、辞書順で大きいのか小さいのかを判定したいです。 どうしたら実現できるでしょうか。 知っていること: bash では [[ $str1 < $str2 ]] で判定できるのは知っているのですが、 これは bash の拡張構文であると思っていて、 sh ではどう行うのだろうと疑問に思っているので、質問しています。
Yuki Inoue
  • 16,805
  • 19
  • 80
  • 196
5
votes
1 answer

関数と -e オプションを併用すると意図通りに動作しないのはなぜ?

次のようなスクリプトを書きました。 #!/bin/sh set -e …
Yuki Inoue
  • 16,805
  • 19
  • 80
  • 196
2
votes
4 answers

シェルスクリプトで指定回数ループ処理

シェルスクリプトで指定回数ループ処理するにはどういった書き方があるでしょうか
Taizan Yonetuji
  • 2,846
  • 7
  • 32
  • 51