В то время как существуют ответы, которые делают точное действие, которое Вы хотите, более стандартный метод для такой цели состоит в том, чтобы создать символьную ссылку:
ln -s ~/web/www/project proj #use full path to dir!
Затем Вы могли cd
к каталогу с помощью имени proj
:
cd proj
Этот метод более гибок, потому что Вы могли получить доступ к файлам с помощью краткого названия без cd
:
ls proj/ #note the endslash!
vim proj/file.x
Все ответы являются большими, но я разрешил эту проблему с помощью другого подхода, я использовал команду для добавления только одного шлюза по умолчанию, но сбоя, если уже существует один. И таким образом в конечном счете удалите неправильный шлюз в конце команды. Это должно работать над вторым разом isa.
ip route add default via my-gateway
ip route del default
Если Вы используете ip
вместо route
, Вы могли просто работать:
ip route del 0/0
Я полагаю, что ловит все маршруты по умолчанию.
Если Ваш код порывает с несколькими шлюзами по умолчанию, необходимо, вероятно, также посмотреть в нескольких IP-адресах для каждого устройства.
Когда Вы уже получили ответ, вот другой подход, поскольку Вы никогда не должны изменять конфигурацию своей системы просто, потому что Вы хотите выполнять/тестировать сценарий. Как насчет того, чтобы использовать сетевые пространства имен вместо этого. Для краткого введения, как добавить, виртуальные устройства к Вашему NS (пространство имен) взглянули на http://code.google.com/p/coreemu/wiki/Namespaces.
Создать пространство имен, названное тестом и выполнить команду под этим пространством имен, просто выполненным
ip netns add test
ip netns exec test COMMAND
где КОМАНДА может быть, например, Вашей оболочкой или просто сценарием сервера.