これはhttps://apple.stackexchange.com/questions/52459/のフォローアップであり、bash での予期しない動作に関するものです。そのリンクの内容を要約すると、問題はターミナルの現在のディレクトリをペーストボードなどの一時変数にコピーし、それを使用して別のターミナルウィンドウでディレクトリを切り替えることです。そこで提供されたソリューションは、最も効率的な方法でそれを釘付けにします! ただし、正しくエスケープされたディレクトリ名でこの一時変数を使用して実際にディレクトリを変更しようとすると、bash では正しく動作しないようです。
私の最小限の作業例は次のとおりです。
alias cwd='printf "%q/\n" "$(pwd)"'
ターミナルで:
>$ mkdir tmp
>$ cd tmp
>$ mkdir test\ dir
>$ cd test\ dir
>$ cwd | pbcopy
新しいターミナルで:
>$ echo "$(pbpaste)"
/Users/foo/tmp/test\ dir/
>$ cd $(pbpaste)
-bash: cd: /Users/kaushik/tmp/test\: No such file or directory
>$ cd "$(pbpaste)"
-bash: cd: /Users/kaushik/tmp/test\ dir/: No such file or directory
私は自分が間違っていることを理解しようとしてかなり途方に暮れています。私が確信しているのは、これが bash の問題であり、OS X で発生しているものではないということだけです。
これについてのあなたの助けに感謝します。ちなみに、私はついに、何年も経った後、最初のスタックオーバーフローの投稿を書くことになりました!