我有以下脚本:
$ cat test.sh
#! /usr/local/bin/bash
date
运行,
$ test.sh
-bash: test.sh: command not found
有用
$ ./test.sh
Thu Oct 25 18:04:45 CST 2018
尽管如此,我知道这test.sh
与 相同./test.sh
,
$ file test.sh
test.sh: Bourne-Again shell script text executable, ASCII text
$ file ./test.sh
./test.sh: Bourne-Again shell script text executable, ASCII text
test.sh
和之间的细微差别是什么./test.sh
?
答案1
这两种运行命令的方式并不相同。使用./test.sh
,您可以test.sh
在当前目录中运行脚本。使用test.sh
,您可以运行test.sh
在$PATH
.
如果您调用了 script test
,那么运行test
将使用test
可能内置于 shell 中的实用程序(不会产生任何输出),而运行./test
将执行您的脚本。
有关的: