[问题] 字串比较问题求救

楼主: newgame8624 (柯特)   2016-08-17 21:45:28
版上大大大家好
小弟最近正在学习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,请问大大,是否有参数设定错误,导致判断总是以后式决定呢?
还请不吝指点,万分感谢!
楼主: newgame8624 (柯特)   2016-08-17 21:47:00
抱歉,最后是fi, 不是if
作者: kenduest (小州)   2016-08-17 22:15:00
echo ${_game_list} ????这是说 echo ${_game_list}吗?你程式码多个空白再来若取变量,那不应该用 ' ' 单引号包起来要使用双引号包起来才会展开变量内容
作者: yvb   2016-08-17 22:25:00
if [ -n "$(echo ..." PO")" ]; then ...
作者: kenduest (小州)   2016-08-18 00:00:00
另外 $() 回复想到原帖大概是需要反单引号非一般单引号
楼主: newgame8624 (柯特)   2016-08-18 00:16:00
是反单引号没错,手机排版打不出来了解,我再试试看不要用反单引号,用双引号试试
作者: kenduest (小州)   2016-08-18 11:08:00
应该是说若你要执行命令,要用反单引号 or $() 才可以我一开始回应内容没注意到你是需要执行外部命令所以 yvb 回应比较正确

Links booklink

Contact Us: admin [ a t ] ucptt.com