
Я сравнительно новичок в Zsh и Bash.
Я хочу настроить пользовательские команды, например desktop
, которые перенесут меня на рабочий стол. Добавление следующих строк в файл .bash_profile будет работать с Bash.
desktop() {
cd /Users/me/Desktop
}
Похоже, с Zsh это не работает.
Вопрос только в том, где я размещаю код, или я все делаю неправильно?
решение1
Отредактируйте файл ~/.bashrc. Найдите раздел alias и добавьте следующий
alias desktop='cd /path/to/desktop'
Делая так, вы объявите несколько псевдонимов. Вы можете создать любой пользовательский псевдоним, который захотите!
(т. е. у меня есть псевдоним ne='emacs -nw', и каждый раз, когда я запускаю
ne "some file",
он открывает файл в оболочке emacs.)
Когда бы вы ни написали «desktop», это приведет вас туда :-) (теоретически)
решение2
С zsh вам следует отредактировать ~/.zshrc (создать его, если он не существует -> пример шаблонаhttps://github.com/robbyrussell/oh-my-zsh/blob/master/templates/zshrc.zsh-template)
так:
нано ~/.zshrc
и добавьте нужный вам псевдоним, например
alias my_project_runserver='cd my_project_path; . venv/bin/активировать; ./manage.py запустить сервер'
Используя указанный выше псевдоним, я захожу в папку своего проекта, активирую virtualenv и запускаю сервер django.
;
разделяет команды, поэтому с помощью одного псевдонима можно выполнить несколько команд
и для вступления изменений в силу выполните:
. ~/.zshrc
решение3
Создать глобальный исполняемый файл скрипта оболочки z
Лучше создать собственный файл скрипта, который будет доступен глобально и не будет зависеть от конфигурации оболочки.
1.Создайте текстовый файл со следующим содержимым (назовите файл «desktop»):
#!/usr/bin/env zsh
cd /Users/me/Desktop
#or any shell commands you want
2.Сохраните файл по указанному пути
/usr/local/bin
3. Выполните следующую команду, чтобы сделать скрипт исполняемым с необходимыми разрешениями:
cd /usr/local/bin
sudo chmod -x ./desktop
Sudo chmod 755 desktop
4.Перезагрузите терминал.