$1, $2, ... 引数自体を参照 $# 引数の数 $* すべての引数を一度に参照 $0 実行しているスクリプトのパス $? 直前のコマンドの終了ステータス
文字列比較演算子
= 両辺の文字列が一致したとき真 != 両辺の文字列が一致しないとき真 -n 変数 変数がnullでないときに真 -z 変数 変数がnullのときに真
ファイル属性演算子
-d file fileが存在してディレクトリのとき真 -e file fileが存在するとき真 -f file ファイルが存在し普通のファイルのとき真
論理演算子
-a かつ -o または
数値評価演算子
-lt より小さい -le 以上 -eq 等しい -ge 以上 -gt より大きい -ne 等しくない
basename パスからファイル名だけを抜き出す。 dirname パスからディレクトリ名までを抜き出す。 realpath 相対パスを絶対パスに展開する。 例:実行しているシェルの絶対パスを取得 ⇒ > dirname $0
* ${変数#パターン} 最初の部分とパターンがマッチしたら、 最も短く一致する部分を取り除いた残りの部分を返す。 * ${変数##パターン} 最初の部分とパターンがマッチしたら、 最も長く一致する部分を取り除いた残りの部分を返す。 * ${変数%パターン} 最後の部分とパターンがマッチしたら、 最も短く一致する部分を取り除いた残りの部分を返す。 * ${変数%%パターン} 最後の部分とパターンがマッチしたら、 最も長く一致する部分を取り除いた残りの部分を返す。
例:testpath=/home/sekino/Linux/how.to.linux の場合 $ echo ${testpath##/*/} how.to.linux $ echo ${testpath#/*/} sekino/Linux/how.to.linux $ echo ${testpath%%.*} /home/sekino/Linux/how $ echo ${testpath%.*} /home/sekino/Linux/how.to
例:ファイルの拡張子を置き換える #!/bin/sh file=scan01.jpg echo ${file} echo ${file%jpg} echo ${file%jpg}png
Linux
サーバ構築
Windows
Java
Program