2014-11-11 4 views
0

Я хочу, чтобы проверить, если tmux псевдоним существует, когда я запускаю команду в терминале:В чем отличие выполнения команд в терминале и сценарии оболочки?

$ type -t tmux 

результат

$ alias 

Но когда я ставлю «тип -t tmux» в сценарии оболочки и , результат

$ ./test.sh 
$ file 

Почему результат не совпадает?

Мой test.sh является:

#!/usr/bin/env bash 
set -e 

type -t tmux 
+4

Псевдонимы не наследуются дочерними процессами. см. http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_05.html – ymonad

+0

Спасибо! @ymonad – Consen

ответ

0

Любые псевдонимы, определенные в .bash_profile следует читать и уважать tmux, но ничего не читать .bashrc.

Вызов test.sh - это подпроцесс и не использует среду из текущего процесса, если вы не используете ее source test.sh, но это также позволяет сценарию изменять текущую среду.

Смежные вопросы