run bash не работает команда alias в zsh
Я использую zsh в centos. И я хочу запустить некоторый сценарий оболочки. Как это.
script.sh
- передача файла в качестве параметра с помощью sed и loop
- Как заменить «&» на «& amp;», за исключением того, что уже является частью XML-объекта?
- Как autoremove с apt?
- Какие типы интерполяции строк поддерживает POSIX sh?
- Разбор XML с использованием xmllint и настройка вывода
#!/bin/sh # something .. source ./aliases-file.sh
aliases-file.sh
alias test=ls alias test2=cat
Я запустил ./script.sh
, псевдоним не был применен к текущему сеансу. как я могу это работать?
One Solution collect form web for “run bash не работает команда alias в zsh”
Когда вы запускаете script.sh
он выполняется в подоболочке, и ваши псевдонимы не будут распространяться до вызывающей оболочки (или текущей сессии, когда вы ссылаетесь на нее). Вам нужно самому source script.sh: source script.sh
. Это заставит команды запускаться в вашей текущей оболочке, и псевдонимы станут видимыми.
Сторона примечания: для соображений переносимости вы должны рассмотреть возможность использования .
вместо source
поскольку первый является стандартом POSIX, а последний – багизмом .