1

現在のディレクトリをパスに入れてZshを実行していますが、スクリプトなしで使用するとスクリプトが実行されません./

ターミナルで実行されるこれらのステートメントを読んで、コンテキストを理解してください(これ»は私のシェルプロンプト文字です)。

» ls
Makefile node_modules  package.json  README.md  src test  tst
» echo $PATH
.:[all_my_other_directories]
» cat test
echo "test";
nodeunit tst/
» ./test                                                                                                                                               
test
OK: 2 assertions (1ms)
» test
» which test
./test

which test正しい場所へのポイントに注意してください、しかしtestそれを実行しません。

ローカルディレクトリをパスの前に置くのは悪い考えですが、パスを.最後に持つように変更しましたが、何も変更されません。

助けていただければ幸いです。

4

2 に答える 2

3

このキーワードtestは、実際にはシェルの組み込みであるため、予約されています。混乱をさらに悪化させるのは、シェルコマンドとも呼ばれるtest.

代わりに別の名前を使用してください =)

于 2012-11-28T20:44:47.963 に答える
2

@sampson-chenは完全に正しいです。1つの追加:使用するものを正確に確認するには

type test

、それはあなたを与えるでしょう

test is a shell builtin

したがって、問題を解決します。は使用しないでくださいwhich。常にコマンドを探します。typeは同等であるためwhence -v、代わりに前者を使用できます。

于 2012-11-28T20:52:24.653 に答える