ディレクトリを検索しないように `dash`(またはbash)シェルでPATHを設定するにはどうすればよいですか?空のPATHは現在のディレクトリを検索するため

ディレクトリを検索しないように `dash`(またはbash)シェルでPATHを設定するにはどうすればよいですか?空のPATHは現在のディレクトリを検索するため

存在するスプリントこれを空の文字列に設定すると、PATH現在のディレクトリから取得されます。

$ export PATH=
$ echo $PATH

$ emptyexe
$ /usr/bin/ls emptyexe
emptyexe
$ pwd
/home/ctor
$ cd ..
$ emptyexe
dash: 36: emptyexe: not found

PATHどのディレクトリ、特に現在のディレクトリで検索されないようにするには、何を設定する必要がありますか?

空はPATHBash の現在のディレクトリも検索するので、そのディレクトリにも質問が適用されます。

これはFedora 28(実際にはQubes OSのAppVM)にあります。

$ rpm -qf `which dash`
dash-0.5.9-1.fc25.x86_64
$ rpm -qf `which bash`
bash-4.3.43-4.fc25.x86_64

ベストアンサー1

たとえば、これを行う必要が$ export PATH=/dev/nullあります。

[ctor@dom0 ~]$ dash
$ echo 'echo meh' > nonemptyexe
$ /usr/bin/chmod a+x ./nonemptyexe
$ nonemptyexe
dash: 3: nonemptyexe: not found
$ ./nonemptyexe
meh
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/ctor/.local/bin:/home/ctor/bin
$ export PATH=/dev/null
$ nonemptyexe
dash: 7: nonemptyexe: not found
$ ./nonemptyexe
meh
$ echo $PATH
/dev/null
$ export PATH=""
$ echo $PATH

$ nonemptyexe
meh
$ ./nonemptyexe
meh
$ 

おすすめ記事