2014-09-01 203 views
-1

任何人都可以告诉我以下两个区别?Unix脚本命令读取文件名

FILENAME=`echo /var/data` 

FILENAME=/var/data 
在UNIX脚本

+0

请澄清你的问题。 – 2014-09-01 07:34:09

+0

阅读[高级Bash脚本指南](http://tldp.org/LDP/abs/html/) – 2014-09-01 07:34:26

+2

第一个不必要地创建额外的进程来运行'echo',但最终的结果是一样的。 – 2014-09-01 07:39:41

回答

1

这两种变体都会给你相同的结果。

最大的区别在于,第一个变体在一对反引号内使用命令,可以执行比简单的echo更高级的命令,并使用命令(或管道连接的命令)的输出并分配那个变量。


例如,让我们说你有这给输出的几行文本的命令,一个包含例如线Path: /var/data。为了获取路径,你可以使用的命令

command_with_output | grep "Path: " | sed 's/Path: //' 

上述命令的链条搜索的command_with_output包含"Path: "线路输出,然后删除该行的"Path: "一部分。

使用上面的链接命令,用反引号一起,你可以再做

FILENAME=`command_with_output | grep "Path: " | sed 's/Path: //'`