技術メモ

役に立てる技術的な何か、時々自分用の覚書。幅広く色々なことに興味があります。

引数のあるコマンドをエイリアスに登録する方法(シェルスクリプト)

引数のあるコマンドをエイリアスに登録したい時、調べたのでメモ
例えば、複数のサーバーが用意されていてSSHするサーバーを使い分けるみたいな時。

ssh USER@SERVER1.com -p 8888
ssh USER@SERVER2.com -p 8888
ssh USER@SERVER3.com -p 8888
...

みたいなコマンドを一つにまとめたい。

そんな時はこう書く

function entercommand() { ssh USER@SERVER$1.com -p 8888 ; }

これで、

entercommand 1

でSERVER1.comを指定して入ることができる

余談

シェルのワンライナーで変数を使いたい

シェルのワンライナーで変数を使いたい時、例えば入出力のファイルの名前を揃えたい時などに便利。
書き方としてはこんな感じ

f() { ls ${1}; }; f ~/Documents/

入出力を揃える

f() { ffmpeg -ss 00:01:00 -i ${1}.mp4 -c copy -to 00:05:00 ${1}_cut.mp4; }; f sample

sample.mp4という動画ファイルを1:00から5:00までトリミングしsample_cut.mp4という名前で保存するワンライナー