shell脚本的两个小问题请教

sh/bash/dash/ksh/zsh等Shell脚本
回复
blackthought
帖子: 57
注册时间: 2007-02-05 13:07

shell脚本的两个小问题请教

#1

帖子 blackthought » 2015-05-25 13:43

question 1:

代码: 全选

[[ 'a' == 'a' ]] && echo xxxx
由于前面的判断要多次用到,把它提取出来,分开写,但是不能运行,我的用的zsh

代码: 全选

[[ 'a' == 'a' ]]                                                                                                                                                                                                                            
$? && echo xxxx
question 2:

代码: 全选

if ! grep -q xxx filename; then                                                                                                                                                                                                         
        echo >> xxx filename                                                                                                                                                                           
fi
这段判断文件是否含有特定字符串,如果没有就追加在文件末尾,请问可以用sed之列更简单的方式实现吗?
头像
tracyone
帖子: 866
注册时间: 2010-11-19 14:25
系统: 乌班图
来自: onetracy.com
联系:

Re: shell脚本的两个小问题请教

#2

帖子 tracyone » 2015-05-25 17:58

第一个问题

为啥你那么讨厌用if... :em01
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: shell脚本的两个小问题请教

#3

帖子 astolia » 2015-05-25 23:18

代码: 全选

[[ 'a' == 'a' ]]
$? && echo xxxx
你这样做,等同于执行0 && echo xxxx,又没有一个叫0的程序,当然不行了

代码: 全选

if [[ 'a' == 'a' ]]; then
echo xxx
echo yyy
fi
或者

代码: 全选

[[ 'a' == 'a' ]] && {
echo xxx
echo yyy
}
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: shell脚本的两个小问题请教

#4

帖子 astolia » 2015-05-25 23:22

第二段代码一个判断一个追加,逻辑上已经够简单了,非要追求用单一程序来完成是种病,得电
回复