如题,echo $name 输出的并不是grep 'grub' 的输出信息,而是原先的变量内容。
$name 这个变量为什么没有被赋予找到的那个文件的名称呢?
我知道name=`find /home/li/ -ctime 0 |grep 'grub' ` 可以这样子写。
与此相同,find /home/li/ -ctime 0 |grep 'grub' |xargs cp /home/li/test/,这样写是不对的,我怎么把找出来的那个文件复制到 /home/li/test/ 目录下呢?
find /home/li/ -ctime 0 |grep 'grub' >$name 为什么不对呢
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 37
- 注册时间: 2012-01-08 22:54
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- astolia
- 论坛版主
- 帖子: 6703
- 注册时间: 2008-09-18 13:11
Re: find /home/li/ -ctime 0 |grep 'grub' >$name 为什么不对呢
给变量赋值的语法是 变量名=变量值 ,而不是搞什么重定向。
获取命令的输出用``
name=`find /home/li/ -ctime 0 |grep 'grub'`
find本身就有文件名匹配的选项,一般没必要再用grep
find /home/li/ -ctime 0 -name "*grub*"
获取命令的输出用``
name=`find /home/li/ -ctime 0 |grep 'grub'`
find本身就有文件名匹配的选项,一般没必要再用grep
find /home/li/ -ctime 0 -name "*grub*"
-
- 帖子: 37
- 注册时间: 2012-01-08 22:54