版上大大大家好
小弟最近正在学习Linux中,但遇到了一个数值比对问题无法解决,恳请版上大大指点迷
津
game()
{
if [ -n 'echo ${_game_list} | grep -i " PO"' ]; then _game_id =POKEMON
if
if [ -n 'echo ${_game_list} | grep -i " HG"' ]; then _game_id =HGAME
if
}
我在_game_list 中,输入的是GOODPOK,原本默认会出来是POKEMON,但结果是HGAME。
但如果把
if [ -n 'echo ${_game_list} | grep -i " HG"' ]; then _game_id =HGAME
if
去掉,值就是POKEMON,请问大大,是否有参数设定错误,导致判断总是以后式决定呢?
还请不吝指点,万分感谢!
echo ${_game_list} ????这是说 echo ${_game_list}吗?你程式码多个空白再来若取变量,那不应该用 ' ' 单引号包起来要使用双引号包起来才会展开变量内容
作者: yvb 2016-08-17 22:25:00
if [ -n "$(echo ..." PO")" ]; then ...
另外 $() 回复想到原帖大概是需要反单引号非一般单引号
是反单引号没错,手机排版打不出来了解,我再试试看不要用反单引号,用双引号试试
应该是说若你要执行命令,要用反单引号 or $() 才可以我一开始回应内容没注意到你是需要执行外部命令所以 yvb 回应比较正确