2011-09-22 174 views
1

这个脚本是做什么的?shell脚本帮助

if [ -f /../../file1] then 
    . /../../file1 
fi 

它检查file1是否存在。当时的声明做了什么?

回答

5

在bash中.相当于source。它读取file1并在当前的bash过程中运行它。

0

如果文件存在,它就会变得干干净净,如果它确实存在,它就会生成文件(在当前进程中运行文件中的命令)。例如,如果文件包含export行,则会在当前进程中设置环境变量。

作为一个例子,在Ubuntu,默认.bashrc文件具有以下线:

if [ -f ~/.bash_aliases ]; then 
    . ~/.bash_aliases 
fi 

这指示bash的文件是否存在于从~/.bash_aliases运行的所有命令。

1

它包含几个错误。

/../../file1作为文件名没有多大意义。 /..将是根目录的父级;通常根目录是它自己的父目录,因此/../../file1可能只是一种奇怪的写入方式/file1

[]附近需要空格,并且]后面应该跟一个分号或换行符。

随着这些问题的纠正,它做了其他答案所说的。