簡體   English   中英

在BASH中,我需要根據perl腳本的輸出來更改一些環境變量。 在tcsh中,我可以使用別名eval組合。 不能狂歡

[英]In BASH I need to change some environment variables based on output of a perl script. In tcsh I can use an alias eval combo. Can't in bash

我需要基於帶有參數的perl腳本的輸出來更改一些環境變量。 在tcsh中,我可以使用一個別名命令來評估perl腳本的輸出。

tcsh中:

alias setsdk 'eval `/localhome/guyc/bin/setsdk.pl tcsh \!*`'

然后我用:

$ setsdk 20.0.0.22

而且有效。

bash:我嘗試了多種轉義參數的方法,但是沒有用。

alias setsdk='eval `/localhome/guyc/bin/setsdk.pl bash $1`'
alias setsdk='eval `/localhome/guyc/bin/setsdk.pl bash \$1`'

請幫忙!

使用函數代替; bash別名不帶參數:

setsdk () {
  eval "$(/localhome/guyc/bin/setsdk.pl bash "$1")"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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