便利なシェルスクリプト

コマンドを打ち込むときに、タイプミスをしたり
打ち込むのが面倒ということが多々あります
そんなときに役立つのがシェルスクリプトです
たとえば、testfile をtestfile2 というファイルにコピーするときには
通常
cp -p testfile testfile2
というようにします
しかし、毎回コピーするときに打ち込むのは面倒なので
ファイル名に2をつけてバックアップするには
vi backup2
でファイルを作成し
内容を
cp -p ${1} ${!}2
として保存
chmod +x backup2
で実行権限を与えて
./backup2 testfile
と実行すれば
testfile2
が作成されます
今回のわかりにくい点は
${!}
という記号です
これは、シェルスクリプトで使う記号で
意味は 引数1
を意味しています
もう少し載せると
$0 がコマンド名
$1 が引数1
$2 が引数2
$3 が引数3
となっていきます
コマンドと引数の関係を cp コマンドで例えると
cp -p testfile testfile2
の場合なら
cp  が $0
tetfile が $1
testfile2 が$2
というかんじです
オプションは引数には入らないはずです
これを活用するとかなり楽になります
ちなみに、今回
vi backup2 の内容で
cp -p ${1} ${!}2
となっていますが
コピーしたファイルの名前をbackupというようにつけたいのなら
cp -p ${1} ${!}backup
というように変更することでできます
このように、引数などを使うと
tr コマンド
で行った作業の
tr -d ‘\r’ < testfile > testfileTmp
mv testfileTmp testfile
についても
vi ModeLF
でファイルを作成し
中身を
#!/bin/bash
tr -d ‘\r’ < ${1} > ${1}Tmp
mv ${1}Tmp ${1}
で保存して
chmod +x ModeLF
とすることで同様の作業ができるようになります
引数を使う最大のメリットは
ファイル名を記述すると、そのファイルにしか適用できないのに対し
引数を指定した場合なら、他のファイル名でも使用できるのが
最大のメリットとも言えます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です