ファイル名 | 拡張子がなくても、シェルスクリプトの宣言があれば実行できる。 |
ファイル名.sh | シェルスクリプトの拡張子 |
#! /bin/sh | シェルスクリプト 本来のUNIXの標準シェル「sh」。 「bash」は「sh」の派生なので、「sh」の宣言で利用できる。 |
#!/bin/bash | bash を利用するときの宣言 |
#! /user/bin/perl | Parlを利用する場合 |
#! /usr/bin/awk -f BEGIN{ print “Hello awk!!!!” } | awkを利用する場合 |
#(コメント) | #を入力すると、#から行末までコメントとして扱われる。 |
|(パイプライン) |
コマンド | コマンド パイプラインとは、1つ以上のコマンドを「|(パイプライン)」で区切って並べたもの。 左側のコマンドの結果である標準出力が、右隣のコマンドの標準入力として渡される。 |
;(改行) |
同一行に複数のコマンドを入力するときに、「;」を入力すると、改行してコマンドを入力したのと同じことになる。 |
|| ||リスト。 |
コマンド1||コマンド2は、コマンド1をまず実行し、その結果が「偽(終了ステータス=「1」)の場合のみ、コマンド2を実行する。 |
& | |
&& |
&&リスト。 コマンド1&&コマンド2は、コマンド1をまず実行し、その結果が「真(終了ステータス=「0」)」の場合のみ、コマンド2を実行する。 |
シングルクォート '…' |
シングルクォート 文字の特殊な意味を打ち消して文字列を使用する。 |
ダブルクォート "...” |
ダブルクォート パラメータ展開とコマンド置換を除いて、文字の特殊な意味を打ち消す。 |
バックスラッシュ \ |
バックスラッシュ 次の1文字の特殊な意味を打ち消す。 |
‘...‘ |
コマンド置換 コマンドの引数、または、コマンド名を別のコマンドの標準出力で置換する。 その際、パス名展開と単語分割が行われる。 パス名展開戸単語分割を咲けるには、さらに「ダブルクォート」で囲む。 ”‘.....‘” 例 echo “`cal 1 2014`” |
${リスト} |
コマンドの置換 コマンドの引数、または、コマンド名を別のコマンドの標準出力で置換する。 |
* |
パス名展開 0文字以上の任意の文字列にマッチさせる。 |
? |
パス名展開 任意の1文字にマッチさせる。 |
[a-z] |
パス名展開 指定した条件の1文字にマッチさせる。 |
[[:alnum:]] | 英数字 |
[[:alpha:]] | 英文字 |
[[:ascii:]] | 7ビットASCII(半角)文字(コントロールコードも含む) |
[[:blank:]] | スペース、タブ |
[[:cntrl:]] | コントロールコード |
[[:digit:]] | 数字([0-9]に相当) |
[[:graph:]] | 表示可能文字(スペースを除く) |
[[:lower:]] | 英小文字 |
[[:print:]] | 印字可能文字(スペースを含む) |
[[:punct:]] | 記号 |
[[:space:]] | スペース、タブ、改行、改ページ文字等 |
[[:upper:]] | 英大文字 |
[[:word:]] | 英数字とアンダースコア |
[[:xdigit:]] | 16進数([0-9A-Fa-f]に相当) |
{a,b,c} |
ブレース展開 複数の文字列の組み合わせから、文字列を生成する。 cp /some/dir/{cat,dog}.jpg |
$((算術式)) | 算術式を評価し、その演算結果の数値に展開する。 |
~ |
チルダ展開 ユーザのホームディレクトリに展開する。 |
<()/>() |
プロセス置換 FIFOに接続した別プロセスを起動し、そのFIFO名に置換する。 |
IFS |
単語分割 パラメータ展開などの結果を、コマンド名や引数に分割する。 |
コマンド<ファイル名 |
標準入力のリダイレクト コマンドの標準入力にファイルを入力する。 |
コマンド>ファイル名 |
標準出力のリダイレクト コマンドの標準出力をファイルに出力する。 |
コマンド>>ファイル名 |
標準出力のアペンドモードでのリダイレクト コマンドの標準出力を、ファイルに追加出力する。 |
コマンド 2> ファイル名 |
標準エラー出力のリダイレクト コマンドの標準エラー出力をファイルに出力する。 |
コマンド 0 1 2 ...>&0 1 2 … |
ファイル記述子を使ったリダイレクト オープン済みの標準出力や、標準エラー出力などを複製する。 |
コマンド &> ファイル名 |
標準出力と標準エラー出力の同時リダイレクト bashで標準出力と標準エラー出力を同時に、ファイルにリダイレクトするには&>が使える。 |
>&-/<&- |
ファイル記述子のクローズ ファイル記述子をクローズするのに使用。 |
コマンド 0 1 2 3<>ファイル名 |
読み書き両用オープン コマンドのファイル記述子を読み書き用でオープンしたファイルにリダイレクトする。 |
コマンド<<-終了文字列 ヒアドキュメント本体 終了文字列 |
ヒアドキュメント コマンドの標準入力に一定の文書を入力する。 |
コマンド<<<文字列 |
ヒアストリング コマンドの標準入力に、一定の文字列を入力する。 |