0

次のコードを見てください。

ECHO A2
MKDIR -v  /tmp/"My Batch Script File Assignment"
ECHO

ECHO A3
CD "/tmp/My Batch Script File Assignment"
PWD
ECHO

ECHO A3 で cd コマンドが機能しない理由を教えてください。次の PWD コマンドは、作業ディレクトリが /tmp に変更されたことを報告します。しかし、「My Batch Script File Assignment」に変更したいと考えています。なぜこれがドンではないのか、誰でも知っています。

4

1 に答える 1

2

OSXでbashを使用していると仮定します。

「スクリプト」内の他のコマンドとは異なり、ディレクトリ変更(cd)コマンドは、/ usr / bin / cdではなくシェルビルトインcdである必要があるため、小文字にする必要があります(その目的は私を免れます)。

他のコマンドはすべて大文字を使用して「機能」します。これは、OS Xのパスとファイル名では大文字と小文字が区別されないため(デフォルトではとにかく)、シェルはPATHで通常の小文字のコマンドを見つけて呼び出します。それはCDでは機能しません。cdを使用する必要があります。

それで:

MKDIRは/bin/ mkdirを呼び出します(ok)
ECHOは/ bin / echoを呼び出します(ok)
PWDは/ bin / pwdを呼び出します(ok)
CDは/ usr / bin / cdを呼び出します(okではなく、シェルビルトインcdを使用する必要があります)

于 2012-04-06T02:56:53.730 に答える