Этот цикл будет выполняться только один раз. Неверное цитирование или отсутствует глобус/расширение?

#bash

#удар

Вопрос:

Я работаю над сценарием bash, который получает список процессов и делает с ними кучу вещей, однако, когда я хочу проанализировать их с помощью цикла, происходит эта ошибка. Вот какой-то код:

 #! /bin/bash   ls /proc | grep ^9 gt; processes.txt   cat processes.txt   for line in $processes.txt do  echo "$line" done  

PD: Я очень новичок в bash

Ответ №1:

$ выполняет расширение параметров; он не расширяет имя файла до содержимого файла.

while Вместо этого используйте цикл чтения.

 while IFS= read -r line; do  echo "$line" done lt; processes.txt  

Комментарии:

1. Это сработало!! , Спасибо за помощь, чувак