元ネタ: pecoでsshするやつ
fish-shellでsが使えなくて焦ったので、
備忘録として公開しておきます。
作り方
元ネタの記事から$()
を()
にするだけ。
~> alias s='ssh (grep -iE "^host[[:space:]]+[^*]" ~/.ssh/config|peco|awk "{print \$2}")'
~> functions s
# Defined in /Users/miyabi/.config/fish/functions/s.fish @ line 2
function s --description alias\ s=ssh\ \(grep\ -iE\ \"\^host\[\[:space:\]\]+\[\^\*\]\"\ \~/.ssh/config\|peco\|awk\ \"\{print\ \\\$2\}\"\)
ssh (grep -iE "^host[[:space:]]+[^*]" ~/.ssh/config|peco|awk "{print \$2}") $argv;
end
~> s
# pecoが立ち上がってSSH接続出来る
~> funcsave s
# これでsコマンドが保存されて常に使えるようになった
おまけ: moshも登録
mでいいかな?
moshはmosh host
で接続できるのでsshのほぼ丸コピーで使える
~> m
fish: Unknown command 'm'
~> alias m='mosh (grep -iE "^host[[:space:]]+[^*]" ~/.ssh/config|peco|awk "{print \$2}")'
~> functions m
# Defined in - @ line 0
function m --description alias\ m=mosh\ \(grep\ -iE\ \"\^host\[\[:space:\]\]+\[\^\*\]\"\ \~/.ssh/config\|peco\|awk\ \"\{print\ \\\$2\}\"\)
mosh (grep -iE "^host[[:space:]]+[^*]" ~/.ssh/config|peco|awk "{print \$2}") $argv;
end
~> funcsave m