このドキュメントでは、共通のシェル機能 (どのシェル フレーバーでも同じ) と異なるシェル機能 (シェル固有の機能) の概要を説明します。
C.1. 共通の機能
次の機能は、すべてのシェルに標準装備されています。 stop、suspend、jobs、bg、および fg コマンドは、ジョブ制御をサポートするシステムでのみ使用できることに注意してください。
表 C-1. 共通のシェル機能
Command | 意味 |
> | 出力をリダイレクトする |
>> | ファイルに追加 |
< | 入力をリダイレクトする |
<< | 「こちら」ドキュメント (リダイレクト入力) |
| | パイプ出力 |
& | バックグラウンドでプロセスを実行します。 |
; | 同じ行に別々のコマンドを入れる |
* | ファイル名の任意の文字に一致します |
? | ファイル名の単一文字と一致する |
[] | 囲まれた任意の文字と一致します |
() | サブシェルで実行 |
「 | 囲まれたコマンドの代替出力 |
"" | 部分引用符 (変数とコマンドの展開が可能) |
「」 | 引用全文(展開なし) |
\ | 次の文字を引用します |
$ var | 変数に値を使用する |
$$ | プロセスID |
$0 | コマンド名 |
$n | n 番目の引数 (n は 0 ~ 9) |
$* | すべての引数を単純な単語として |
# | コメントの開始 |
bg | バックグラウンド実行 |
破る | ループステートメントからの中断 |
cd | ディレクトリを変更する |
続ける | プログラムループを再開する |
echo | ディスプレイ出力 |
評価する | 引数を評価する |
exec | 新しいシェルを実行する |
fg | フォアグラウンド実行 |
jobs | アクティブなジョブを表示 |
kill | 実行中のジョブを終了する |
新しいグループ | 新しいグループに変更する |
シフト | シフト位置パラメータ |
stop | バックグラウンドジョブを一時停止する |
サスペンド | フォアグラウンド ジョブを一時停止する |
時間 | コマンドのタイミングを計る |
umask | ファイル権限を設定またはリストする |
unset | 変数または関数の定義を消去する |
wait | バックグラウンドジョブが完了するまで待ちます |
C.2. 異なる機能
以下の表は、標準シェル (sh)、ボーン・アゲイン・シェル(bash)、コーンシェル(kshの) および C シェル (CSH).
シェルの互換性
Bourne Again SHell は次のスーパーセットであるため、 sh、すべての sh コマンドは以下でも機能します bash - しかし、その逆はありません。 bash にはさらに多くの独自の機能があり、以下の表に示すように、他のシェルから組み込まれた多くの機能もあります。
Turbo C シェルは次のスーパーセットであるため、 CSH、すべての CSH コマンドはで機能します tcsh、しかしその逆はありません。
表 C-2. 異なるシェル機能
sh | bash | kshの | CSH | 意味・動作 |
$ | $ | $ | % | デフォルトのユーザープロンプト |
>| | >| | >! | 強制リダイレクト | |
> file 2>&1 | &> file or > file 2>&1 | > file 2>&1 | >& file | stdout と stderr を次のようにリダイレクトします。 file |
{} | {} | リスト内の要素を展開する | ||
`コマンド` | `コマンド` or $(コマンド) | $(コマンド) | `コマンド` | 同封の出力の代替 command |
$ HOME | $ HOME | $ HOME | $ home | ホームディレクトリ |
~ | ~ | ~ | ホームディレクトリのシンボル | |
~+, ~-, Dirs | ~+, ~- | =-, =N | ディレクトリスタックにアクセスする | |
VAR=値 | VAR=値 | VAR=値 |
セッションに VAR=値 | 変数の割り当て | |||
export VAR | export VAR=値 | export VAR=val | 設定環境 VAR ヴァル | 環境変数を設定する |
${nnnn} | ${nn} | 9 個を超える引数を参照できます | ||
"$@" | "$@" | "$@" | すべての引数を個別の単語として記述する | |
$# | $# | $# | $#argv | 引数の数 |
$? | $? | $? | $ status | 最後に実行したコマンドの終了ステータス |
$! | $! | $! | 最近バックグラウンドで実行されたプロセスの PID | |
$- | $- | $- | 現在のオプション | |
. file | source file or . file | . file | source file | ファイル内のコマンドを読み取る |
エイリアス x='y' | エイリアス x=y | 別名xy | お名前 x コマンドの略です y | |
場合 | 場合 | 場合 | スイッチ or 場合 | 代替案を選択する |
行われ | 行われ | 行われ | end | ループステートメントを終了する |
ESAC | ESAC | ESAC | 終了します | 終わり 場合 or スイッチ |
終了する n | 終了する n | 終了する n | 終了する (expr) | ステータスを表示して終了する |
の/do | の/do | の/do | foreachの | 変数をループする |
セッションに -f , セッションに -o nullglob|dotglob|nocaseglob|noglob | ノグロブ | ファイル名の生成時に置換文字を無視する | ||
ハッシュ | ハッシュ | alias -t | ハッシュスタット | ハッシュ化されたコマンド (追跡されたエイリアス) を表示します |
ハッシュ コマンド | ハッシュ コマンド | alias -t コマンド | 再ハッシュ | コマンドの場所を記憶する |
ハッシュ -r | ハッシュ -r | ハッシュを解除する | コマンドの場所を忘れる |
歴史 | 歴史 | 歴史 | 以前のコマンドをリストする | |
アローアップ+入力します or !! | r | !! | 前のコマンドをやり直す | |
!STR | r STR | !STR | 「str」で始まる最後のコマンドをやり直す | |
!CMD:s /x/y/ | r x=yコマンド | !CMD:s /x/y/ | 「cmd」で始まる最新のコマンドの「x」を「y」に置き換えて実行します。 | |
もし [ $i -eq 5 ] | もし [ $i -eq 5 ] | もし ((i==5)) | (もし$i==5) | サンプル状態試験 |
fi | fi | fi | ENDIF | 終わり if ステートメント |
ulimit | ulimit | ulimit | 制限 | リソース制限を設定する |
pwd | pwd | pwd | Dirs | 作業ディレクトリを印刷します |
read | read | read | $< | 端末から読み取る |
トラップ 2 | トラップ 2 | トラップ 2 | 内部 | 割り込みを無視する |
エイリアス | エイリアス | エイリアス | エイリアスの削除 | |
まで | まで | まで | 始める まで ループ | |
while/do | while/do | while/do | while | 始める while ループ |
Bourne Again SHell には、ここに挙げていない機能が他にもたくさんあります。 この表は、このシェルが他のシェルからのすべての有用なアイデアをどのように組み込んでいるかを示すためのものです。 bash。 Bash のみにある機能の詳細については、Bash 情報ページの「Bash 機能」セクションから取得できます。
詳細:
シェルのマニュアルなど、少なくとも XNUMX つのマニュアルを読む必要があります。 好ましい選択は次のとおりです 情報バッシュ, bash GNU シェルなので初心者にとっても簡単です。 印刷して家に持ち帰って、5分あればいつでも勉強してください。
シェルコマンドを理解するのが難しい場合は、付録 B を参照してください。