Кажется, что у Вас есть тот интерфейс, настроенный с помощью DHCP. Если так, Вы хотите уничтожить существующего клиента DHCP и перезапустить его. Для большого количества дистрибутивов Вы сделали бы это:
dhcpcd -k eth0
dhcpcd -d eth0
но не каждый дистрибутив используется dhcpcd
. Я знаю некоторое использование dhclient
, и не делает использования Debian pump
?
Кроме того, "eth0" не может составить корректное имя интерфейса: сделать ifconfig -a
видеть то, что это VM имеет.
Трудно препятствовать тому, чтобы двоичный файл был выполнен, но для типичных ситуаций существует легкий метод защиты:
Функция оболочки могла быть похожей на это:
git () {
local cwd="$(pwd -P)"
if ! [ "/path/to/src" = "$cwd" -o "/path/to/projects" = "$cwd" ]; then
echo "The current working directory is: '${cwd}'"
echo "git must not be run from here; from src and projects only."
echo "Aborting."
else
command git "$@"
fi
}
Необычный: при использовании zsh
, Вы могли использовать регион, выделяющийся для установки флага полужирным красный git
слово, если используется, в то время как $PWD
не то, где Вы хотите. Как:
self-insert() {
zle .$WIDGET
if [[ $BUFFER = git(| *) && $PWD != */src && $PWD != */projects ]]; then
region_highlight=("0 3 fg=red,bold,standout")
else
region_highlight=()
fi
}
zle -N self-insert
Тем путем это не стоит на пути, но сообщать о потенциальной проблеме.
Отметить git
где угодно на строке:
self-insert() {
zle .$WIDGET
if [[ $BUFFER =~ '\<git\>' && $PWD != */src && $PWD != */projects ]]; then
region_highlight=("$((MBEGIN-1)) $MEND fg=red,bold,standout")
else
region_highlight=()
fi
}
zle -N self-insert
Пример: