好的,我不能因为某种原因让这个工作
if /etc/mysql/my.cfn exist
then goto end;
else bash install.sh;
end exit;;
提前致谢, 乔
答案 0 :(得分:10)
检查是否存在,如果为真,则运行install.sh
。
[[ ! -e /etc/mysql/my.cfn ]] && bash install.sh
答案 1 :(得分:8)
这是一个相对字面的翻译:
if [ -e /etc/mysql/my.cfn ]; then
exit # Note: bash does not have a goto command
else
bash install.sh
fi
或者,消除不相关的条件,并反转测试:
if [ ! -e /etc/mysql/my.cfn ]; then
bash install.sh
fi
答案 2 :(得分:5)
bash中没有参数的:
命令是无操作的,所以如果你不需要什么,你可以在if-body中使用它。
if something; then
:
else
do something else
fi
当然,您通常希望将其写为:
if ! something; then
do something else
fi
或
something || do something else
答案 3 :(得分:4)
你在Bash的一行中的四行:
[[ -e /etc/mysql/my.cfn ]] && exit || bash install.sh
你的意思是我的。 cnf ?
答案 4 :(得分:1)
(一)正确的语法是:
if [[ expression ]]; then
command
else
command
fi
传统风格是:
if test -f filename; then
command
fi