sh 脚本中 [[ ]] 出错,但在 cli 下正常。
#!/bin/bash echo '[[ -f /etc/rc.local ]] && echo yes || echo no' [[ -f /etc/rc.local ]] && echo yes || echo no echo '[ -f /etc/rc.local ] && echo yes || echo no' [ -f /etc/rc.local ] && echo yes || echo no
结果
[[ -f /etc/rc.local ]] && echo yes || echo no test.sh: 3: [[: not found no [ -f /etc/rc.local ] && echo yes || echo no yes但在 cli 下却正常
~# [[ -f /etc/rc.local ]] && echo yes || echo no yesbash 版本
~# bash --version GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.debian 版本
~# lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 6.0.3 (squeeze) Release: 6.0.3 Codename: squeeze请教是怎么回事?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
直接编辑应该没问题,如果是复制拷贝的,试试dos2unix看看~~