После обширного исследования openvpn
руководство, я нашел ответ для своего вопроса:
Я Вы не хотите, чтобы маршруты были выполнены автоматически, но были обработаны Вашим собственным инструментом, использую следующую опцию:
--route-noexec Don't add or remove routes automatically. Instead pass routes to --route-up script using environmental variables.
При принятии всего, что продвинуто сервером кроме маршрутов, используйте следующую опцию:
--route-nopull When used with --client or --pull, accept options pushed by server EXCEPT for routes. When used on the client, this option effectively bars the server from adding routes to the client's routing table, however note that this option still allows the server to set the TCP/IP properties of the client's TUN/TAP interface.
Используя sed здесь представляет больше сложности, чем это стоит. Используйте встроенные текстовые функции управления оболочки. Например, ${name#assignment02}
разделяет префикс assignment02
от $name
.
for name in assignment02.*; do
mv "$name" "assignment03${name#assignment02}"
done
Двойные кавычки не необходимы, если Вы уверены, что имена файлов не содержат специальных символов оболочки.
Если Вы имеете в наличии zsh, zmv
функция полезна для этих видов переименований.
autoload zmv
zmv '(assignment)02.(*)' '${1}03.$2'
Вы уже думаете слишком сложные
rename 02 03 *02*
'переименуйте' заменяет первый аргумент ('02') вторым аргументом ('03') от имени всех файлов, данных на arg3 или после (*02*)
rename
команда с этим синтаксисом является утилитой Linux, не доступной на OSX (и даже не доступный этим именем на большей части Debian и установках Ubuntu).
– Gilles 'SO- stop being evil'
11.02.2011, 21:23
Другой подход:
for ext in {cc,h,txt}
do
echo mv assignment02.$ext assignment03.$ext
done
В конечном счете: Попытайтесь добраться, 'переименовывают'
Одним путем Вы могли сделать это:
ls -1 | sed "s/\(.*\)\..*$/mv '&' '\1.txt'/" | sh
ls
. И генерация сценария оболочки является верным способом выстрелить себе в голову. Изогнитесь вопрос Мальчика содержит разумный подход к стороне оболочки, просто пропустив право sed колдовство и некоторое заключение в кавычки.
– Gilles 'SO- stop being evil'
11.02.2011, 21:28