[英]Using alias in the middle of bash command
是否可以在命令中間替換別名。 例如,如果假設我有一個別名
alias get_pods= 'kubectl get pods -n mynamespace'
當我從 bash 命令行執行“get_pods”時,這非常有效。
由於幾乎所有命令都需要命名空間作為后綴,所以我有可能將命名空間作為別名。 例如
alias myname=' -n mynamespace'
然后我在命令行中使用它
kubectl get pods 'myname'
這樣,我可以為不同的命名空間創建多個別名,只需更改 shell 命令末尾的后綴即可。
基本上,我要做的就是在我的 bash 命令中替換別名並執行它。
更新
我嘗試添加“`”符號但它不起作用
kubectl get pods `myname`
-n: command not found
No resources found in default namespace.
您可以像這樣使用 function:
function myname() {
"$@" -n mynamespace
}
"$@"
表示“在此處插入所有 arguments”。 雙引號確保它們被正確地分詞。 然后你會調用它使用
myname kubectl get pods
語法有點不同,但行為是一樣的。 如果您真的想使用您想要的語法,您可能可以解決其他問題,但這會更復雜。
可能更簡單的是定義一個像這樣的變量:
export myname="-n mynamespace"
並使用執行它
kubectl get pods $myname
只需將數據存儲在數組中。
myname=(-n mynamespace)
kubectl get pods "${myname[@]}"
使用變量而不是別名。
myname='-n mynamespace'
kubectl get pods $myname
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.