Сценарий оболочки не распознает псевдоним

#python #zsh #alias #zshrc

#python #zsh #псевдоним #zshrc

Вопрос:

У меня есть файл с именем run . Это содержимое:

 #!/bin/zsh

python
  

Чтобы сделать файл исполняемым, я запустил chmod a x run . Я ввел ./run в терминал. Он активирует оболочку Python 2.7. Причина, по которой это неожиданно, заключается в том, что в моем .zshrc файле у меня есть псевдоним: alias python="python3" . Почему zsh не распознает мой псевдоним?

Комментарии:

1. Это для bash, а не zsh, но должно помочь вам разобраться в проблеме: askubuntu.com/questions/98782 /…

2. Поместите строку вашего псевдонима перед python вызовом

3. @Hedy Что вы подразумеваете под «строкой псевдонима»?

4. alias python="python3"

5. Я знаю это, я просто подумал, что добавление псевдонима в скрипт (а также в zshrc, если хотите), а затем запуск python может сработать

Ответ №1:

Вам необходимо включить обработку псевдонимов. Сделайте в своем скрипте

 setopt aliases
  

перед определением вашего псевдонима.

Комментарии:

1.Это не работает? Я попытался поместить его в оба run и ~/.zshrc и даже перезапустил оболочку, но это все еще не работает. Единственное, что пока сработало, это ввести псевдоним в run , как предложил @Hedy.

2.@GalaxyCat105 : .zshrc в данном контексте это не имеет значения. Он все равно не обрабатывается вашим скриптом. Внутри run вам нужно сделать setopt aliases; alias python="python3" , как я объяснил в своем ответе (сделайте это в вашем скрипте, перед определением вашего псевдонима)