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

관련 정보