【发布时间】:2019-01-09 22:36:28
【问题描述】:
我想在新的 tcsh shell 中获取文件。
我可以跑:
#!/usr/bin/env tcsh
konsole --close -e tcsh -exec "ls -l;exec tcsh"
这将打开一个新的 konsole,列出所有文件并保持 shell 交互。
但是,当我尝试时:
#!/usr/bin/env tcsh
konsole --close -e tcsh -exec "source /tmp/1234.sh;exec tcsh"
我得到了所有的环境变量,但没有得到别名。
例如: 在 /tmp/1234.sh:我有:
...
setenv MAYA "/maya/path";
alias may 'source /X/tools/binlinux/myscript.tcsh getDirectory ${MAYA} \!*';
...
现在在我的新外壳中:
$env | grep 'MAYA'
将输出正确的“MAYA”环境 但是:
$may
可能:找不到命令。
所有别名都不起作用
如果我执行:
$source /tmp/1234.sh
在新的 shell 中,所有别名都可以正常工作。
请注意,我无法将数据存储在任何文件中,例如 .tchrc 或更改 /tmp/1234.sh 文件的格式。
如何让别名在新的 shell 中工作?
【问题讨论】:
-
我使用的是 Linux Centos 6
标签: shell environment-variables alias tcsh