使用. ./<filename>
时,Unix中的含义是什么?
感谢您的帮助
答案 0 :(得分:3)
“./?”会尝试运行一个名为'?'的程序它将驻留在当前目录中,并且将在当前shell中运行。
第一个点表示'在当前shell中运行'(而不是生成一个新的)。'。''表示'当前目录'和'?'将意味着一个名为'?'的可执行文件必须存在。
答案 1 :(得分:1)
在文件名上运行.
会运行文件中的命令,就好像您在shell命令提示符下键入它们一样。与shell脚本不同,文件生成的环境变量(和类似)更改在运行文件之后仍然存在;脚本完成后,将还原shell脚本所做的更改。
答案 2 :(得分:1)
.
或source
命令将给定文件读入当前shell。即基本上给定的文件是一个通过键入. filename
来运行的一个shellcript,但是使用.
(或等同的source
)与通常运行该文件作为shell脚本的不同之处在于它不会生成子shell,因此会保留脚本导出的变量。因此,如果脚本设置并导出变量,则在脚本完成时仍将设置它们。
答案 3 :(得分:0)
source
或.
将文件作为参数。该文件中的每行代码都被执行。所以我不认为
. ./
会起作用。
$ . ./
-bash: .: ./: is a directory
$ echo "echo Hello" > out
$ . out
Hello
$ source out
Hello