2016-10-27 3 views
2

私は最初のコマンドライン引数で決定された変数にビデオ/メタモードを設定するはずのこのbashスクリプトを持っています。Bashスクリプトは、変数の代わりに変数名にnvidiaメタモードを設定します

これは、呼び出された変数のモードに設定されていますが、変数名に設定されます。ここで

コードです:

#!/bin/bash 
TV="DPY-0: nvidia-auto-select @1440x900 +0+0 {ViewPortIn=1440x900, ViewPortOut 
TV_notear="DPY-0: nvidia-auto-select @1440x900 +0+0 {ViewPortIn=1440x900, View 
NOTV="DPY-0: nvidia-auto-select @1440x900 +0+0 {ViewPortIn=1440x900, ViewPortOu 

echo "Setting display preset to $1" 
nvidia-settings --assign CurrentMetaMode="$1" 
exit $? 

答えて

2

何をしたいの構文は${!name}実際

echo "Setting display preset to ${!1}" 
nvidia-settings --assign CurrentMetaMode="${!1}" 
+2

ですが。この機能の名前は[variable indirection](http://mywiki.wooledge.org/BashFAQ/006#Indirection)です。 – mklement0

関連する問題