用于读取文件名的Unix脚本命令

时间:2014-09-01 07:32:23

标签: shell unix

谁能告诉我下面两个之间的区别?

FILENAME=`echo /var/data`

FILENAME=/var/data

在unix脚本中。

1 个答案:

答案 0 :(得分: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: //'`