Используя переменную постепенного увеличения в командной строке удара для цикла?

Необходимо смочь перезагрузить компьютер с установочным CD в однопользовательском режиме, смонтировать корневую файловую систему и положить обратно файлы на Linux. Я не знаю много песни, но это похоже на RHEL, таким образом, это должно работать.

3
26.01.2011, 10:32
2 ответа

То, что необходимо сделать:

j=$(($j+1))

или используйте

$((j++))
7
27.01.2020, 21:10
# file1.bak
hallo

# some other file.bak
H?llo*

# a!file.bak
new!
line"

Обработанный со сценарием:

j=1
for i in *.bak; do
  echo "{$((j++)):$(cat "$i")}" >> files.grp
done

Пишет следующее в files.grp:

{1:hallo}
{2:H?llo*}
{3:new!
line"}
3
27.01.2020, 21:10
  • 1
    О, очень хороший. Можно ли объяснить что $(cat "$i") делает? Таким образом, я понимаю, каков вывод этого будет, на основе Вашего примера, но что означает тот синтаксис? –  Alan 26.01.2011, 11:26
  • 2
    Это называют заменой команды. $(command) выполнится command и распечатайте вывод его (если таковые имеются). В этом случае, echo получит вывод cat "$i" как вход и процессы это далее. Посмотрите раздел 'Command Substitution' в man bash –  wag 26.01.2011, 11:41

Теги

Похожие вопросы