exec“`dirname”$ 0“`”/../../ waf“$ @”

时间:2013-10-28 11:11:46

标签: linux terminal ns-3

我是ns3的新手。我有一些用c ++编写的简单程序。

我通过以下命令运行我的ns3程序

exec "`dirname "$0"`"/../../waf "$@"

任何人都可以解释上述行的功能吗?

1 个答案:

答案 0 :(得分:4)

dirname "$0"

获取包含命令的文件的目录名。

"`dirname "$0"`"/../../waf

/../../waf附加到dirname "$0"获得的结果。

因此,您从上一个命令获得/some/arbitray/path,这将返回/some/arbitray/path/../../waf

exec "`dirname "$0"`"/../../waf "$@"

使用上面获得的命令替换shell,并传递传递给包含原始命令的脚本的参数。


例如,如果您的命令位于目录/d1/d2/d3/d4/d5中包含的文件中,并且您执行了以下操作:

sh myfile foo bar "foo bar"

然后执行的命令将是:

/d1/d2/d3/d4/d5/../../waf foo bar "foo bar"