#amazon(4774146439)
 
 

シェル

リダイレクト

制御演算子 (control operator)

| (Pipeline)

; (連続実行)

&& (正常時に実行)

|| (異常時に実行)

ex) 正常時と異常時で処理を分ける

# command1 || command2 && command3 || command4

() (グループ化)

制御 (control)

条件分岐 (conditional branch)

if

case

select

無条件分岐 (unconditional branch)

繰り返し (loop)

for

while

while read

while getopts

until

繰り返しの中断

break

continue

停止 (stop)

return

exit

シェル関数 (shell function)

定義

呼び出し

条件式 (expression)

ファイルの条件式

条件式意味説明
-d filedirectoryfile がディレクトリなら真
-f filefilefile がファイルなら真
-e filefile が存在すれば真
-r filereadfile が存在して、読み込み可能なら真
-w filewritefile が存在して、書き込み可能なら真
-x fileexcutefile が存在して、実行可能なら真
-s filesizefile が存在して、サイズが 0 でなければ真

文字の条件式

条件式説明
str1 = str2str1str2 が等しければ真
str1 =~ regexstr1regex が等しければ真
str1 != str2str1str2 が等しくなければ真
-z str
! str
str が空なら真
-n str
str
str が空でなければ真

整数の条件式

条件式意味説明数式
num1 -eq num2equalnum1num2 が等しければ真num1num2
num1 -ne num2not equalnum1num2 が等しくなければ真num1num2
num1 -gt num2greater thannum1num2 超なら真num1num2
num1 -lt num2less thannum1num2 未満なら真num1num2
num1 -ge num2less than or equalnum1num2 以上なら真num1num2
num1 -le num2greater than or equalnum1num2 以下なら真num1num2

論理結合

変数 (variable)

VAR=stgings
echo $VAR

特殊変数

変数意味
$$シェル スクリプトの PID
$0シェル スクリプトのファイル名
$numnum 番目の引数
$#引数の数
$?直前のコマンドの終了コード
${PIPESTATUS[@]}パイプで繋いだ全コマンドの終了コード (bash)
$IFSInternal Field Separator
区切り文字 (デフォルトは改行、空白、タブ)
$OPTARGwhile getopts 参照

変数展開 (bash)

変数意味
${i#str}変数 $i の先頭から str を取り除く
## だと最長一致
${i##str}
${i%str}変数 $i の末尾から str を取り除く
%% だと最長一致
${i%%str}
${i:pos:num}変数 $i の pos 文字目から num 文字を取り出す
${i:-str}変数 $i が空の場合、str を返す
${i:=str}変数 $i が空の場合、str を返し、変数にセットする
${#i}変数 $i の文字数

配列 (bash)

四則演算 (bash)

内部コマンド

test

true, :

false

echo

オプション説明
-n末尾に改行コードを入れない
-eエスケープ文字を使用可能にする
\n 改行 (LF)
\r 改行 (CR)
\t Tab

eval

time

# time sleep 3

real    0m3.002s
user    0m0.002s
sys     0m0.000s

外部コマンド

expr

bc

basename

dirname

テキスト関係

実行オプション

オプション説明
-v
-xデバッグ

サンプル

ワンライナー

# while :; do command; sleep time; done

数字の証明

expr "$NUM" + 1 > /dev/null 2>&1
if [ $? -lt 2 ]
then
        $NUMが数字である場合の処理
else
        $NUMが数字でない場合の処理
fi
 
 

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-07-08 (水) 21:41:44