bash: невозможно установить переменную в сплошную строку

Я не могу установить переменную с цельной командной строкой следующим образом:

A="/bin/ps wwwaux" for a in $A do echo "$a" done 

Он присваивает массив вместо сплошной строки. Не могли бы вы помочь, пожалуйста.

Моя среда:

 GNU/Linux, GNU bash, version 3.2.51(1)-release (x86_64-suse-linux-gnu) 

Цикл for ожидает список:

 for a in $A; do echo "$a" done 

Расширяется до:

 for a in /bin/ps wwwaux; do echo "$a" done 

Который печатает как друг за другом. Цикл выполняется дважды, потому что есть ДВА аргументов. Выход будет:

 /bin/ps wwwaux 

Вместо этого используйте кавычки:

 for a in "$A"; do echo "$a" done 

Это расширится до:

 for a in "/bin/ps wwwaux"; do echo "$a" done 

Который будет зацикливаться ровно один раз, потому что это ОДИН аргумент. Это результат:

 /bin/ps wwwaux 
 for f in "$A" do echo $f done 

Ваше задание уже делает то, что вы хотите – это цикл «для», который разбивает его так, как вы этого не хотите.