这个命令在Unix中意味着什么?

时间:2011-03-06 22:16:34

标签: unix

使用. ./<filename>时,Unix中的含义是什么?

感谢您的帮助

4 个答案:

答案 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