Existe-t-il un moyen de créer des variables Bash et d'assigner des valeurs via une boucle?
Quelque chose dans le sens de:
#!/bin/bash
c=0
for file in $( ls ); do
var"$c"="$file";
let c=$c+1;
done
EDIT: Merci à @costas et @MDPC pour indiquer que ce serait une mauvaise alternative à une liste; La question est théorique uniquement.
Eh bien, vous pouvez absolument utiliser eval comme suit:
c=0
for file in $( ls ); do
eval "var$c=$file";
c=$((c+1));
done
Ce code créera des variables nommées Var0, Var1, Var2, ... avec chacun en maintenant le nom du fichier. Je suppose que vous aurez une bonne raison pour laquelle vous voulez faire cela à l'aide d'un tableau ...
Possible, vous voulez dire un tableau. Il y a des moyens d'attribuer des valeurs
c=0
for file in $( ls ); do
var[$c]="$file";
c=$(($c+1));
done
c=0
for file in $( ls ); do
var[c++]="$file";
done
for file in $( ls ); do
var[${#var}]="$file";
done
var=( $(ls) )
...
ls
, il suffit de mettre *
pour tous les fichiers[]
les $
signe peut être envoyé