run bash не работает команда alias в zsh

Я использую zsh в centos. И я хочу запустить некоторый сценарий оболочки. Как это.

script.sh

#!/bin/sh # something .. source ./aliases-file.sh 

aliases-file.sh

 alias test=ls alias test2=cat 

Я запустил ./script.sh , псевдоним не был применен к текущему сеансу. как я могу это работать?

  • Батарея в URxvt?
  • init-скрипты в autoyast для автоматического развертывания сервера Suse Linux
  • sed и sudo с заменой строки
  • Что означает эта линия Баша?
  • Удалить каталоги, содержащие определенный файл
  • Shellcheck жалуется, что я не должен читать и писать тот же файл в том же конвейере
  • Найти все файлы и использовать результат в шаблоне поиска grep
  • очистить tmpfs в моем случае
  • One Solution collect form web for “run bash не работает команда alias в zsh”

    Когда вы запускаете script.sh он выполняется в подоболочке, и ваши псевдонимы не будут распространяться до вызывающей оболочки (или текущей сессии, когда вы ссылаетесь на нее). Вам нужно самому source script.sh: source script.sh . Это заставит команды запускаться в вашей текущей оболочке, и псевдонимы станут видимыми.

    Сторона примечания: для соображений переносимости вы должны рассмотреть возможность использования . вместо source поскольку первый является стандартом POSIX, а последний – багизмом .

    Linux и Unix - лучшая ОС в мире.