if `cd /tmp` 和 if cd /home 是不一样的,
有``只会做判断测试,不会真的执行,而没有``,则会执行
测试如下:
[root@localhost ~]# cat txx
#!/bin/bash
pwd
if `cd /tmp` &>/dev/null;then echo "1, `pwd`";fi
if cd /home &>/dev/null;then echo "2, `pwd`";fi
[root@localhost ~]# bash txx
/root
1, /root
2, /home
技巧总结:
if后面直接跟shell命令,减少不少代码量,但需要处理好标准输出和错误输出