Looking for sh Answers? Try Ask4KnowledgeBase
Looking for sh Keywords? Try Ask4Keywords

shshを使い始める


備考

shは単一のシェルではありません。むしろ、シェルがどのように動作するかについて、POSIXオペレーティングシステム標準を持つ仕様です。この仕様を対象とするスクリプトは、POSIX準拠のシェルで実行できます。

  • bash
  • ksh
  • ashおよびdashなどのその派生物
  • zsh

POSIX準拠のオペレーティングシステムでは、パス/bin/shはPOSIX準拠のシェルを指します。これは通常、POSIX標準にはない機能を持つシェルですが、 shとして実行するとPOSIX準拠の機能のサブセットに制限されます。

参考文献

エコー可搬性

$ for shell in ash bash dash ksh ksh93 zsh; do
>     $shell -c "echo '\\\\'$shell'\\\\'"
> done
\\ash\\
\\bash\\
\dash\
\pdksh\
\\ksh93\\
\zsh\
 

'echo'は、その引数にバックスラッシュ(reverse-solidi)が含まれていない場合や、最初の引数がダッシュ(ハイフン - マイナス)で始まらない場合にのみ、一貫して使用できます。多くの実装は、次のような追加オプション、許可-e 許可された唯一のオプションがあるにもかかわらず、 -n (下記参照します)。

POSIXから:

第1オペランドが-nの場合、またはオペランドのいずれかに文字が含まれている場合、結果は実装定義です。

こんにちは世界!

echo

$ echo Hello, world!
Hello, world!
 

printf 使って:

$ printf 'Hello, world!\n'
Hello, world!
 

ファイルとして:

#!/bin/sh
printf '%s\n' 'Hello, world!'