BobbyQuineのブログ(備忘録)

Linux関係の備忘録、その他タバコ、Vape関連なんかも。

独自コマンド作成の方法(個人的備忘録)

ども、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