Jag skapar tre filer, en med ett mellanslag. Sedan vill jag lägga in dem i en array och loopa över dem. Rätt sätt att lösa problemet finns i progammeringstråden. Det jag undrar är vad och varför jag får den i mitt tycke konstiga utskriften...
Så här gör jag
Kod: Markera allt
mkdir slask
cd slask
touch foo bar "foo bar"
f=$(ls -Q)
Kod: Markera allt
echo $f
Kod: Markera allt
"bar" "foo" "foo bar"
Använder jag operatorn för att matcha alla element blir det konsigt...
Kod: Markera allt
echo ${f[*]}
Kod: Markera allt
"bar" "foo" "foo bar" "foo" "foo bar"
Det borde ha något med att jag gör något fel när jag skapar arrayen, men vad?
För detta ger "rätt" svar
Kod: Markera allt
f=($(ls -Q))
echo ${f[*]}
"bar" "foo" "foo bar"