Я новичок в ns3. У меня есть несколько простых программ, написанных на C++.
запуске программы NS3 по команде ниже
exec "`dirname "$0"`"/../../waf "[email protected]"
Может кто-нибудь функцию упомянутой выше линии объяснить?
Я новичок в ns3. У меня есть несколько простых программ, написанных на C++.
запуске программы NS3 по команде ниже
exec "`dirname "$0"`"/../../waf "[email protected]"
Может кто-нибудь функцию упомянутой выше линии объяснить?
dirname "$0"
получает имя каталога файла, содержащего команду.
"`dirname "$0"`"/../../waf
добавляет /../../waf
к результату, полученному с помощью dirname "$0"
.
Так что вы получили /some/arbitray/path
от предыдущей команды, заносить бы /some/arbitray/path/../../waf
exec "`dirname "$0"`"/../../waf "[email protected]"
заменяет оболочку с командой, полученной выше, и передает аргументы, которые были переданы в скрипт, содержащий исходную команду.
В качестве примера, если ваша команда была в файле, содержащихся в директории /d1/d2/d3/d4/d5
и вы запускал его, говоря:
sh myfile foo bar "foo bar"
, то команда выполняется будет:
/d1/d2/d3/d4/d5/../../waf foo bar "foo bar"
Какая ошибка вы получаете? –
@ Anders Lindahl вы можете объяснить «' dirname »$ 0" '" /../../ waf "$ @" line? –