Intereting Posts
Как fail2ban обнаруживает время попытки вторжения, если в файлах журналов нет метки времени? Команда Unix для преобразования кодировки символов в CSV-файл Корень получает ошибку «операция не разрешена» при попытке переместить aa пользователей .bash_profile Доля X11 с удаленным сервером, где X11 не установлены Конки на нескольких дисплеях? jemalloc и другие ошибки, делающие redis on centos 6.4 Является ли чипом MMU (модуль управления памятью) необходимым для поддержки виртуальной памяти процессором? Можете ли вы подключиться к функции .bash_profile? Видеовстреча на Fedora25 и Black Screen во время экрана Является ли iptables -p прото-м прото-избыточным? Почему команда 'at' не печатает на стандартный вывод? Как молча обработать ошибку «bash: / xyz: Is a directory» в оболочке bash? В чем разница между CONFIG_R8169 и CONFIG_R8169_VLAN? Что означает эта запись в брандмауэре? Как ничего не делать вечно элегантным способом?

Как получить текущий рабочий каталог перед его заменой

У меня есть эта функция

snip-git(){ cd ${snippetdir} git add . git commit -m "." git push -u } 

Когда git заканчивает нажатие изменений, я хочу вернуться в каталог, который был, когда я вызвал snip-git .

Я попробовал это

 snip-git(){ cwd=$(pwd) cd ${snippetdir} ... cd cwd } 

Но это заканчивается тем, что читает не-старый каталог, а не старый

Самый простой способ – сделать ваши работы только в подоболочке:

 snip-git() ( cd -- "$snippetdir" git add . git commit -m "." git push -u ) 

Есть кое-что, что вы хотите исправить в своей функции:

  • Не забудьте всегда указывать переменные .
  • Вы ссылаетесь на переменную, используя $cwd вместо cwd .