Comment puis-je lire un fichier dans un script shell, puis attribuer chaque ligne à une variable que je peux utiliser plus tard ,,, (je pense à charger un paramètre par défaut à partir du fichier)
j'ai déjà essayé :
process (){
}
FILE=''
read -p "Please enter name of default file : " FILE
if [ ! -f $FILE  ]; then
    echo "$FILE : does not exists "
    exit 1
elif [ ! -r $FILE  ]; then
    echo "$FILE : can not read "
fi
exec 0<"$FILE"
n=0
while read -r line
do
   (assign each line to an variable) 
done
 Réponse acceptée :
 À des fins de configuration, il est probablement plus facile de définir les paramètres dans le fichier de configuration dans la syntaxe bash et de les sourcer ultérieurement en utilisant . /path/to/config .
Exemple default.cfg :
parameter_a=100
parameter_b=200
parameter_c="Hello world"
 Exemple script.sh :
#!/bin/bash
# source the default configuration
. /path/to/default.cfg
echo $parameter_a
echo $parameter_b
echo "$parameter_c"
...
 Si vous n'aimez pas cette approche, vous pouvez également lire les lignes dans un tableau :
while read line
do
    array+=("$line")
done < some_file
 
 Pour accéder aux éléments, vous utiliseriez alors ${array[index]} , par exemple :
for ((i=0; i < ${#array[*]}; i++))
do
    echo "${array[i]}"
done
 
 (Où ${#array[*]} est la taille du tableau.)
En savoir plus sur les tableaux dans bash ici.