独自コマンド作成の方法(個人的備忘録)
ども、BobbyQuineです。今回は個人的コマンドの作成方法を記録として残しときます。ググるといろいろと方法が出てくるのですが(例えばaliasでなんちゃらしたり)、とりあえず自分で設定した方法をメモっとく。ってか完全に参考文献そのまま。
参考文献
https://qiita.com/yoshiken/items/2b8e6c24d6b95e65b625
やり方
まぁ、ざっと、作ったスクリプトのあるディレクトリにPATHを通してやればいいだけ。
まずは作ったスクリプトを置いとく場所を作る。これは各自好きなところへ。僕はこのPCには一つしかアカウントを作っていないのでこれでいいやってことで
$ mkdir ~/Command
で、あとは/etc/profileの末尾に以下の二行を加えてやるだけ
# vim /etc/profile
PATH=$PATH:/home/username/Command
export
追記:これだと他のユーザーとかにも影響してくるので~/.bashrcの末尾に
PATH=$PATH:/home/username/Command
って追加する方がいいと思う
以上。これで後はこの作った~/Commandディレクトリに作ったスクリプトを入れてやるだけ。
独自コマンドを設定する利点
例えばmplayerでvideoの出力をフレームバッファに直接描画する場合、
$ mplayer -quiet -framedrop -vo fbdev2 filename
だとかvideoサイズが大きい場合は
$ mplayer -quiet -framedrop -vo fbdev2 -xy 500 -zoom filename
と、コマンドをうつわけですが長ったらしくて面倒くさい。でもだからと言ってシェルスクリプトを組んでも別のディレクトリにあるファイルを再生する場合絶対パス何かをうたなあかんわけでそれもだるい。なので適当にシェルスクリプトっぽいのを作ってそれにPATHを通すことでどこからでもちゃちゃっとスクリプトを実行出きるようにする。って感じで。
とりあえずそのスクリプトものっけときますか。あ、echo文の中の英文は適当に自分で分かりゃいいやって酔っ払いながら書いたので文法的には間違ってると思います。
#!/bin/bash
if [ $1 = --help ]; then
echo "it means mplayer -quiet -framedrop -vo fbdev2"
echo "if you have to set framesize, you have to write x pixel size to 1st argument."
echo "if you do not have to set the x-size, 1st argument=0"
else
if [ $1 = 0 ]; then
mplayer -quiet -framedrop -vo fbdev2 $2
else
mplayer -quiet -framedrop -vo fbdev2 -xy $1 -zoom $2
fi
fi