Shell - (2006/07/20 (木) 16:06:41) の編集履歴(バックアップ)
シェルプログラムのTips&サンプルプログラム
拡張子の一括変更
#!/bin/sh
while [ -n $1 ]; do #第一引数$1がゼロでない(-n)なら実行
${1/pnm/png} #pnmをpngで置換する
shift #引数をずらす
done #終了
for old in *.pnm; do new=`echo $old | sed "s/pnm/png/g"`; mv $old $new; done
bashでログインしても.bashrcが反映されない
.bash_profileで設定する必要がある。(詳細はbashのマニュアル)
具体的には、.bash_profile内に
具体的には、.bash_profile内に
. ~/.bashrc
を(もしくは同様の記述、source .bashrcなどを)書く。
シェル中で数値を扱いたい
普通に宣言するだけではシェルスクリプトは全て文字として判断する。例えば、
% a=1
% b=$a+1
% echo $b
1+1
みたいになる。これを解決するためには、declare -iで宣言してやる必要がある。参照ページ
% declare -i a=1 b=0
% b=$a+1
% echo $b
2
日付の自動表示
これは結構色んなとこでも書いているが、実際使ったから記述。
シェルスクリプト内で日付を入れたものを作りたいときはdateコマンドを利用する。
例えば、
シェルスクリプト内で日付を入れたものを作りたいときはdateコマンドを利用する。
例えば、
mkdir `date +%Y%m%d`
とかすると今日の年月日のフォルダを作ることができる。
よく使う実験用シェルスクリプトとかに入れておくと勝手に日付管理してくれて便利。
よく使う実験用シェルスクリプトとかに入れておくと勝手に日付管理してくれて便利。