En fait il utilise les "parameter expansions", dans ce cas precis cela veut dire attribuer "ce qu'il y a entre les quotes" si la variable existe. Sauf qu'il faut l'assigner à une variable : exemple :
Code :
- nameExec=foo
- nameExec=${nameExec:+"run_bench.sh"}
- echo $nameExec
|
( donne run_bench.sh )
Si tu veut juste dire "je donne une valeur si la variable est vide" tu peux faire
Code :
- nameExec=
- echo ${nameExec:-"foo"}
|
Je t'encourage à lire la doc : http://mywiki.wooledge.org/BashFAQ/073
et aussi man bash, section "parameter expansion"
Bon, allez, je te corrige ton script tel que je l'ai compris :
Code :
- nameExec=
- if [ ! "$1" ]; then
- echo "No run_bench name, quitting"
- exit
- elif [ "$1" == "1" ]; then
- nameExec=run_bench.sh
- echo "Running one time ($nameExec)"
- else
- nameExec=run_bench_10.sh
- echo "Running ten time"
- fi
- for ((i=200;i<=217;i+=1)); do
- ssh vlsi${i}.vlsi.polymtl.ca "screen -d -m ~/exec_routing_once.sh --update $nameExec"&
- sleep 1
- done
|