正規表現の書き方を検索してたら、@ITのシェルスクリプト解説を目にし、気になったのでお試し。
メモ
- 現在のシェルを確認するには、finger “username” → Shell: /bin/bashだった
- シェルスクリプトは.shで保存する
- 実行は、sh xxx.sh
- スクリプトの1行目は、#!/bin/sh
- スクリプトに引数を渡せる
- $0がxxx.sh
- $iがi番目の引数
- $#が引数の個数
- $*が全ての引数
- 変数は参照するときだけ$をつける(作るときは$が不要)
-
str="Hello, World" echo $str
- 変数を数値として扱うときはdeclareをつける
-
declare -i num num=10 num=$num+1 echo $num
- 変数に対するパターンマッチは4種類ある
- ${変数#パターン}は、変数から、パターンが最短でマッチする部分を除いた残りを返す
- ${変数##パターン}は、変数から、パターンが最長でマッチする部分を除いた残りを返す
- ${変数%パターン}は、???←サンプル書いたけど、動きがよくわからなかった。また後日
- ${変数%%パターン}は、???←サンプル書いたけど、動きがよくわからなかった。また後日
- 条件判断に使う[xxx]はtestコマンド。条件式は”man test”に詳しく載ってる。
- testコマンド[の次に、スペースを入れずに書くと、何でかわからないけどcommand not foundとなった。
-
if [ $# -eq 0 ] then echo 引数0個 elif [ $# -eq 1 ] then echo 引数1個 else echo 引数2個以上 fi
- 繰り返しはforとwhileがある。
-
echo hello, $* for name in $* do echo hello, $name done
-
path=$PATH: while [ $path ] do echo ${path%%:*} path=${path#*:} done
参考サイト
関連エントリー