私は最近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
これは、ドットコマンドがデフォルトで現在のディレクトリを見つけないシェルで必要です。
スクリプトは「ドットスクリプト」(ソースコードを取得するように設計されている)なので、#!
行を削除できます。この行は何の効果もなく、常にコメントとして解釈されます。
また見なさい: