2013年02月09日

コマンドの中でコマンドを行う


これ知らんかった...けど割とbashの基礎っぽい。

なんて書いたらこの記事ヒットするだろう。

シェルスクリプトで意味の分からない記号があるときにもちろん検索するけど

googleで検索かけても記号って大抵無視されるから困る。

今回はコマンドの中でコマンドが行えることを知ったのでここに書きます。

といっても伝わるはずもないので簡単な例としては以下です。

$echo `ls`
Directory1 Directory2 file1 file2


lsで実行した内容をechoで表示している。

``でコマンドを囲めばその中をコマンドとして実行してくれるらしい。

""や''では普通にechoが実行される。

$echo "ls"
ls


といった感じ。

パイプを使った少し複雑なコマンドを使う際に役に立つかもしれない。

例えば、あるディレクトリに存在するファイル達の拡張子を正規表現を用いずに一括で変更したり

$ls
test1.jpg test2.jpg test3.jpg
$for i in ./*
> do
> mv ${i} `echo ${i} | tr jpg png`
> done
$ls
test1.png test2.png test3.png


こんな感じ。

覚えておいて損は無さそう。





この記事へのコメント

name:

mail:

HP:

comment:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/319814079

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。