Fish機能パラメータの参照と接続

Fish機能パラメータの参照と接続

私は常に仮想マシンを破壊して構成しているので、sshはしばしばNASTY。まあ…

とにかく私は行から問題のあるキーを削除するためにFish関数を書いたsed

function forgethost
   sed -i.bak {$argv}d ~/.ssh/known_hosts
end

しかし、自分自身を(注入する)ことから保護するように指示することについては引き続き参考にしたいと思います。梱包すると''交換されません$argv。また、最初のパラメータのみをインポートしたいが、追加[0]しても拡張されません。

答え1

~/.ssh/config継続的に再生成する仮想マシンのエントリを生成します。以下の例つまり、ファイルをクラックする必要はありません~/.ssh/known_hosts

Host test-vm-1
    StrictHostKeyChecking no

答え2

''で囲むと、$ argvを置き換えません。

欲しいのは二重引用符です"$argv"。つまり、これは他のシェルと同じです。

また、最初のパラメータ[0]だけを取得したいが、追加しても拡張されません。

Fishでは、リストの最初の要素にインデックスが1なので、が必要です$argv[1]

一緒にという意味

function forgethost
   sed -i.bak "$argv[1]"d ~/.ssh/known_hosts
end

もちろん、複数の引数が指定されている場合は、エラー処理を追加することもできます。

if set -q argv[2] # yes, no $
    echo "This only accepts one argument" >&2
    return 1
endt

関連情報