一般是在路径上加引号的。
我用find命令找了一些文本文件。然后用cat把这些文件打印到标准输出。命令行如下
代码: 全选
cat $(find . -name aaa )
代码: 全选
cat $(find . -name aaa|awk '{print "\""$0"\""}')
请问这是怎么回事呢?cat对参数是怎么识别的啊?
代码: 全选
cat $(find . -name aaa )
代码: 全选
cat $(find . -name aaa|awk '{print "\""$0"\""}')
命令替换不对里面的引号再解释:cat $(find . -name aaa|awk '{print "\""$0"\""}')
代码: 全选
eval cat $(find . -name aaa|awk '{print "\""$0"\""}')
貌似不是不解释的问题,加上eval仍然不管用。fnan 写了:命令替换不对里面的引号再解释:cat $(find . -name aaa|awk '{print "\""$0"\""}')代码: 全选
eval cat $(find . -name aaa|awk '{print "\""$0"\""}')
fnan 写了:#无图无真相:
kose3@kose3-laptop:~/b$ ls
a b.t b c.t
kose3@kose3-laptop:~/b$ eval cat $(find . -name '*.t'|awk '{print "\""$0"\""}')
11
22
kose3@kose3-laptop:~/b$ cat $(find . -name '*.t'|awk '{print "\""$0"\""}')
cat: "./a: No such file or directory
cat: b.t": No such file or directory
cat: "./b: No such file or directory
cat: c.t": No such file or directory
kose3@kose3-laptop:~/b$