[英]run alias from another shell script
我的.bash_profile中有一個別名,如alias cdpy="cd python"
,我已經找到了它。 但是我仍然不能在我的另一個shell腳本pygitup中使用它。
我用shopt -s expand_aliases
搜索並得到了一些答案,例如添加shopt -s expand_aliases
。 我已將其添加到pygitup中,但仍然無法正常工作。 我使用錯了嗎? 這是我的用法:
# some code
shopt -s expand_aliases
cdpy
# some code
別名不會被外部命令繼承,因此沒有別名可以擴展。 你得source
是再次定義腳本別名的文件:
# some code
shopt -s expand_aliases
source ~/.bash_profile
cdpy
# some code
如果您從環境中使用前導“點空間”運行pygitup
,它將繼承您外殼程序的配置,包括別名。
一個帶有bash腳本的簡單示例:
user@pc:~ $ alias e='echo alias is set'
user@pc:~ $ e
alias is set
user@pc:~ $ vim pygitup.sh
user@pc:~ $ cat pygitup.sh
#!/bin/bash
e
user@pc:~ $
user@pc:~ $ ./pygitup.sh
./pygitup.sh: line 2: e: command not found
user@pc:~ $
user@pc:~ $
user@pc:~ $ . ./pygitup.sh # <--- notice the leading dot
alias is set
user@pc:~ $
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.