최근에 bash에서 zsh로 마이그레이션했습니다.
세션의 개인 키를 얻기 token_refresh.sh
위해 다음 스크립트를 사용했습니다 .ssh-add
#!/usr/bin/env bash
echo "configuring ssh access.."
eval "$(ssh-agent -s)"
ssh-add ./my-key
그러나 dir /ssh의 zsh에서 이 명령을 직접 실행할 수는 없습니다.
$ ls
my-key my-key.pub token_refresh.sh
$ . token_refresh.sh
.: no such file or directory: token_refresh.sh
다음을 사용하여 bash 스크립트를 실행할 수 있습니다.
bash token_refresh.sh
ssh-add
그러나 이것은 bash 세션( bash 세션의 핵심) 을 시작한 다음 종료하는 것이 아닙니다 .
이 스크립트를 bash 및 zsh에서 이식 가능하게 실행하려면 어떻게 해야 합니까?
답변1
파일을 받을 때 경로를 언급해 주세요:
. ./token_refesh.sh
이는 도트 명령이 기본적으로 현재 디렉토리를 찾지 않는 쉘에서 필요합니다.
스크립트는 "도트 스크립트"(소스 코드를 가져오도록 설계됨)이므로 #!
- 줄을 제거할 수 있습니다. 이 줄은 아무런 효과가 없으며 항상 주석으로 해석됩니다.
또한보십시오: