Mac ターミナルでフォルダエイリアスに「cd」する

Mac ターミナルでフォルダエイリアスに「cd」する

「htdocs alias」というフォルダーのエイリアスを作成しましたが、ターミナルで cd 'htdocs alias' または cd htdocs\ alias と入力しても機能しません。

なぜこのようなことが起こるのでしょうか? また、この問題を解決するための提案はありますか?

答え1

Mac OS エイリアスは、Unix のシンボリックリンクよりも Windows のショートカットに似ています。ダブルクリックすることはできますが、cdその中に入ることはできません。

この記事cd次の OS X エイリアスを作成する方法について説明します。

これは 2 つの部分から成るプロセスで、gcc と bash に多少精通している必要がありますが、できるだけ簡単に説明します。まず、次のファイルが必要です。取得TrueName.cこのファイルは Thos Davis によって作成され、GPLv2 ライセンスで提供されています。任意の場所に保存し、次のコマンドでコンパイルします。

gcc -o getTrueName -framework Carbon getTrueName.c

これにより、ソースと同じディレクトリに 'getTrueName' 実行ファイルが作成されます。これを PATH に追加することも、簡単にアクセスできるように /usr/bin に直接コピーすることもできます。

興味深いことに、ターミナルが新しいシェルを開いたとき、予想どおりに .bashrc は実行されません。代わりに、ログイン シェルの下で .bash_profile が実行されます。そのため、ホーム ディレクトリの .bash_profile に次の内容を追加します。デフォルトでは存在しないため、最初に作成する必要がある場合があります。

cd() {
  if [[ -f "$1" || -L "$1" ]]; then
    path=$(getTrueName "$1")
    builtin cd "$path"
  else
    builtin cd "$@"
  fi
}

[関数を少し編集しました –grawity]

関連情報