shell芸
コメント
# ここはコメント
変数宣言
HOGE="aaa"
変数に計算結果展開とか
HOGE=$((60 * 60 * 24)) FUGA=$(find . -name *.java)
if
if [ -f test.txt ];then echo "test.txt存在" fi #「-e Liunx.txt」・・・Liunx.txtが存在しているか。 #「-f Liunx.txt」・・・Liunx.txtが存在し、通常のファイルであるか。 #「-r Liunx.txt」・・・Liunx.txtが存在し、読み取り可能であるか。 #「-s Liunx.txt」・・・Liunx.txtのファイルサイズが0でなければ真。
case
/etc/init.d/配下のスクリプトでよく使われているやつ
D=$(date "+%Y%m%d") case "$D" in "20160530") echo "ビール" ;; "20160529") echo "ジュース" ;; *) echo "コーヒー" ;; esac
for
for i in $(ls);do echo $i done FILES=`find . -name *.java -type f` for FILE in $FILES;do echo $FILE done
select
PS3="選択して:" select SEL in apple banana grape exit;do case $SEL in apple|banana) echo "$SELECTEDが選択されました" ;; grape) echo "グレープ" ;; exit) echo "終了します" break ;; *) echo "1-4の番号で選んでください" ;; esac done
関数
func(){ echo $1 #引数一つ目 echo $2 #引数二つ目 } func "hoge" "fuga"
特殊変数
$0 # スクリプト名 $? # 最後の処理が成功したかどうか? ls if [ $? == 0 ];then echo "成功した" fi
/dev/nullへ
ls > /dev/null 2>&1
とりあえず
これだけあれば戦える?