質問: コマンドcdは何をしますか? caps lockがオンになっていることに気づかなかったので、macのコマンドプロンプトにcdと入力しました。驚いたことに、それはエラーではありませんでした。which cd私に/usr/bin/cd。そのファイルを調べると、次のようになります。#!/bin/sh # $freebsd: src/usr.bin/alias/generic.sh,v 1.2 2005/10/24 22:32:19 cperciva exp $ # this file is in the public domain. builtin `echo ${0##*/} | tr \[:upper:] \[:lower:]` ${1+"$@"} 大文字から小文字への変換と関係があると思いますが、${0##*/}私には完全に不透明です。 man cd「手動入力なし」と表示されます。誰かがこのコマンドを説明できますか?編集:わかりました。osxのファイルシステムでは大文字と小文字が区別されないため、このファイルは実際には/usr/bin/cd。しかし、通常cdと入力すると、もちろんビルトインが取得されるので、/usr/bin/cdケースを間違えた場合にのみ、呼び出されます。私はまだそれが何をするのか知りたいです。
回答: それは正しいことをし、あなたの「cd」コマンドを小文字に変換しようとしています。残念ながら、それはサブシェルで実行されるため、かなり無意味です。残りはbashを理解することと関係があります。