簡體   English   中英

從另一個Shell腳本運行別名

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM