这是一个创建于 2529 天前的主题,其中的信息可能已经有所发展或是发生改变。
我再系统上面穿件这个脚本,执行完毕之后没有抱错,但是别名设置没有出现在别名列表里面,谁能帮我指点迷津
lterbsbj@bjlmrworker06:~> cat exuupei.sh
#!/bin/bash
alias cd_enb03='moshell 20.1.40.16'
echo $?
alias cd_enb1089='moshell 10.163.152.99'
echo $?
lterbsbj@bjlmrworker06:~> ./exuupei.sh
0
0
lterbsbj@bjlmrworker06:~> alias |grep '^cd_'
lterbsbj@bjlmrworker06:~> shopt |grep expand_aliases
expand_aliases on
3 条回复 • 2017-11-20 15:24:02 +08:00
|
|
2
icy20088 2017-11-20 15:18:26 +08:00 via iPhone
多谢多谢!真的可以,这是个什么原理
|
|
|
3
icy20088 2017-11-20 15:24:02 +08:00
找到原因了!
source 命令与 shell scripts 的区别是,source 在当前 bash 环境下执行命令,而 scripts 是启动一个子 shell 来执行命令。这样如果把设置环境变量(或 alias 等等)的命令写进 scripts 中,就只会影响子 shell,无法改变当前的 BASH,所以通过文件(命令列)设置环境变量时,要用 source 命令。
|