在命令行上运行:
tmp=$(cd /sys/class/net; echo !(lo))
echo $tmp
eth0
可以。但是在脚本中运行:
#!/bin/bash
tmp=$(cd /sys/class/net; echo !(lo))
echo $tmp
输出错误:
./test.sh: command substitution: line 3: syntax error near unexpected token '('
./test.sh: command substitution: line 3: 'cd /sys/class/net: echo !(lo))'
这是怎么回事?为什么在bash shell中正确可以正常工作,而在脚本中却不能正常工作?