linux中command line执行命令和在shell脚本中执行命令的区别

zhangq062336 2014-03-30 01:18:20
小弟遇到个问题,还请各位牛人给予解答,问题是这样的:
1、用grep命令的时候支持正则表达式,我希望用grep找出以log结尾的文件,因此命令为:ls -l | grep "log$"。
2、这行命令如果直接在terminal中输入会报错,message为: “Illegal variable name”,重新改为ls -l | grep log$,没有结果也无法得到自己想要的结果。
3、将这行命令放入到csh_file的文件中,改为可执行,./运行得到的结果就是相要的。

问题为:同样的命令在命令行中执行和放在脚本中执行得到的结果不同,这是因为什么?也就是command line执行命令的机制跟shell 脚本执行命令的机制有何不同?

谢谢!
...全文
328 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljc007 2014-03-31
  • 打赏
  • 举报
回复
用单引号试试 [root]# ls -l | grep 'log$' -rw-r--r-- 1 root root 0 Mar 19 17:07 a.log

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧