だけでは動作しませんでした。
・このスクリプトの解説
・どうなおしたら.zshrcで動くか
・あれば、簡単なzsh/bashのスクリプトの入門資料
を教えてください。
よろしくお願いします。
#############################################################
# ssh-agent
# http://www.snowelm.com/~t/doc/tips/20030625.ja.html
echo -n "ssh-agent: "
source ~/.ssh-agent-info
ssh-add -l >&/dev/null
if [ $? == 2 ] ; then
echo -n "ssh-agent: restart...."
ssh-agent >~/.ssh-agent-info
source ~/.ssh-agent-info
fi
if ssh-add -l >&/dev/null ; then
echo "ssh-agent: Identity is already stored."
else
ssh-add
fi
zshくわしくないけどとりあえず
if [ $? == 2 ] ; then
を
if [ $? = 2 ] ; then
または
if (( $? == 2 )) ; then
にしたら動きますね。
エラーとしては
zsh: = not found
が出てるのではないですか?
以下もとのbashスクリプトをそのまま解説
echo -n "ssh-agent: " →ssh-agent: と表示 source ~/.ssh-agent-info → ~/.ssh-agent-infoを読み込んで評価 ssh-add -l >&/dev/null → ssh-add -l を実行、表示は出さない if [ $? == 2 ] ; then → 上のssh-add -lの実行結果が2だったら echo -n "ssh-agent: restart...." → ssh-agent: restart...."と表示 ssh-agent >~/.ssh-agent-info → ssh-agentを実行し結果を~/.ssh-agent-infoに書き込む source ~/.ssh-agent-info → 今、書き込んだssh-agent-infoを評価 fi → if文の処理はここまで if ssh-add -l >&/dev/null ; then →もう一度 ssh-add -l を実行 echo "ssh-agent: Identity is already stored." →実行結果が1だったらメッセージ表示 else ssh-add → そうでなければ ssh-add 実行 fi → if文の終わり
ばっちりです。
ありがとうございます。
エラーもそれです。