如果存在两个文件,则执行命令

时间:2012-12-11 09:52:28

标签: linux bash unix if-statement

如果位置上存在两个文件,我试图执行命令

如果只有两个文件存在脚本之一必须执行另一个不同的命令 这是我试过的剧本

如果[-e / Users / NJ / Library&& / Users / NJ / Desktop];然后

回应

其他

echo single

网络连接

5 个答案:

答案 0 :(得分:4)

您需要将测试分成各自的方括号:

if [ -e file ] && [ -e file ]; then
  echo "wow"
fi

答案 1 :(得分:1)

if [ -e "/Users/NJ/Library" -a -e "/Users/NJ/Desktop" ];then

...

[ condition ]评估者使用-a代表AND& -o代表OR。 Here是一本手册。

或使用以下语法。

if [ -e "/Users/NJ/Library" ] && [ -e "/Users/NJ/Desktop" ];then

...

答案 2 :(得分:0)

您可以使用双括号而不是简单:

if [[ -e /Users/NJ/Library && -e /Users/NJ/Desktop ]] ;then

echo both

else

echo single

fi

答案 3 :(得分:0)

此链接可能有所帮助。它列出了所有其他开关...... http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html

答案 4 :(得分:0)

如果[-e / Users / NJ / Library]&& [-e / Users / NJ / Desktop];然后

回应

否则

echo single

网络连接

此模式工作正常