2016-10-27 2 views
2

J'ai ce script bash qui est censé définir le mode vidéo/méta à la variable qui est mon premier argument de ligne de commande.Le script Bash met le mode méta nvidia au nom de la variable au lieu de la variable

Il est supposé le mettre en mode dans la variable avec laquelle il est appelé, à la place il le définit sur le nom de la variable.

Voici le code:

#!/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 $? 

Répondre

2

La syntaxe de ce que vous voulez est ${!name}

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

En effet. Le nom de l'entité est [variable indirection] (http://mywiki.wooledge.org/BashFAQ/006#Indirection). – mklement0