在shell脚本中,如果直接用自定义的alias,会提示不是系统内部的命令,这是因为默认的脚本中alias模块并不生效,这时候需要手动打开alias模块:
#!/bin/bash
su - lius <<!
shopt -s expand_aliases
source ~/.bashrc
cdp
pwd
!
其中,shopt -s expand_aliases就是开启alias的机制;
然后,我们需要将定义alias的文件重新source一遍,这个文件通常是~/.bashrc, /etc/profile等,根据情况而定。或者重新定义一个alias。
#!/bin/bash
su - lius <<!
shopt -s expand_aliases
alias hello='echo \"My name is Lius...\"'
hello
!
# bash b.sh
"My name is Lius..."
转载请注明:liutianfeng.com » shell脚本中使用alias失效?
发表回复
要发表评论,您必须先登录。