Fragments of verbose memory

冗長な記憶の断片 - Web技術のメモをほぼ毎日更新(準備中)

Feb 5, 2021 - コメント - 日記

ものぐさを極めた伝統的なシェルスクリプトssh-argv0

今日は、ssh-argv0という、ものぐさを極めた伝統的なシェルスクリプトを紹介します。

$ ssh example.com

とするのを

$ example.com

ssh の部分省略できるスクリプトです。これだけですが😅

もう出所がわからなくなっちゃってるのですが、私がこのスクリプトを知ったのはLinuxHacks だったと思います。ところで、今気づいたのですが無料でダウンロード可能みたいですね。

スクリプトはこんなのです。

1
2
3
4
5
6
7
#!/bin/bash
if [ "${0##*/}" == "ssh-argv0" ]
then
  echo 'This script should be called from a symlink' 1>&2;
  exit 1;
fi
ssh "${0##*/}" "$@"

使い方は簡単で、このスクリプトに対してsymlinkを張ります。symlink先はPATHが通っている方がいいでしょう。私の場合~/binにPATHを通しているので、ssh-argv0~/binにおいて、cd ~/bin; ln -s ssh-argv0 example.comとします。 これで、単にexample.comとすることでSSHが実現します。

moshにも対応

ついでにmosh-argv0も作ってみました

1
2
3
4
5
6
7
#!/bin/bash
if [ "${0##*/}" == "mosh-argv0" ]
then
  echo 'This script should be called from a symlink' 1>&2;
  exit 1;
fi
mosh -- "${0##*/}" "$@"