[英]Call variable inside bash script
我正在嘗試創建一個變量'a',它將包含三個坐標的文件的第一行也是唯一一行,每個坐標之間用逗號作為一行。 然后,我試圖調用這個變量來設置是作為運行第二個程序的輸入。 我正在嘗試從同一個腳本中執行此操作,如下所示。
a=$(cut -f 2 aver.line.comma.dat)
$MGLROOT/bin/pythonsh ~/Downloads/autodockZN_filesAndTutorial/prepare_gpf4zn.py -l ligand.pdbqt -r protein_tz.pdbqt -o protein_tz.gpf -p npts=500,500,500 -p gridcenter=echo "$a" -p parameter_file=AD4Zn.dat
我有所有需要的輸入文件。 我想確保 gridcenter 將等於這個變量 a。
我的變量 a 如下所示:
95.8916,53.8569,28.052
有人知道實現這一目標的方法嗎? 我嘗試設置 gridcenter=$a 和 gridcenter=(echo $a),但沒有成功。
謝謝!
您不需要“調用”或“執行”變量。 要使用它,只需擴展它:
... -p gridcenter="$a" ...
旁注:當您有大量 arguments 時,將它們存儲在數組中有助於提高可讀性
prepare="$HOME"/Downloads/autodockZN_filesAndTutorial/prepare_gpf4zn.py
args=(
-l ligand.pdbqt
-r protein_tz.pdbqt
-o protein_tz.gpf
-p npts=500,500,500
-p gridcenter="$(cut -f 2 aver.line.comma.dat)"
-p parameter_file=AD4Zn.dat
}
"$MGLROOT"/bin/pythonsh "$prepare" "${args[@]}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.