踩坑必备shell详解

踩坑必备shell详解

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命令,减少不少代码量,但需要处理好标准输出和错误输出