1、用grep命令的时候支持正则表达式,我希望用grep找出以log结尾的文件,因此命令为:ls -l | grep "log$"。
2、这行命令如果直接在terminal中输入会报错,message为: “Illegal variable name”,重新改为ls -l | grep log$,没有结果也无法得到自己想要的结果。
3、将这行命令放入到csh_file的文件中,改为可执行,./运行得到的结果就是相要的。
问题为:同样的命令在命令行中执行和放在脚本中执行得到的结果不同,这是因为什么?也就是command line执行命令的机制跟shell 脚本执行命令的机制有何不同?
谢谢!
1 个解决方案
#1
用单引号试试
[root]# ls -l | grep 'log$'
-rw-r--r-- 1 root root 0 Mar 19 17:07 a.log
[root]# ls -l | grep 'log$'
-rw-r--r-- 1 root root 0 Mar 19 17:07 a.log
#1
用单引号试试
[root]# ls -l | grep 'log$'
-rw-r--r-- 1 root root 0 Mar 19 17:07 a.log
[root]# ls -l | grep 'log$'
-rw-r--r-- 1 root root 0 Mar 19 17:07 a.log