Bash wget с переменными и подстановочными знаками

Если выполняется man ps , то в разделе «СТАНДАРТНЫЕ СПЕЦИФИКАТОРЫ ФОРМАТА» объясняется каждый заголовок.

ВРЕМЯ накопленное время ЦП, пользователь + система...

т.е. количество ЦП, используемое процессом на данный момент в минутах: секундах.

Время запуска команды...

т.е. время дней (часы: минуты) или дата запуска команды.

-121--64270-

Если действительно необходимо изменить разрешение symlinks (как правило, бессмысленное, как написано в других ответах), я успешно воспользовался опцией -R команды chown :

chown -R myuser:mygroup link

Если -R не использовался, разрешения не были изменены.

-121--11747-

Необходимо проверить перечислять совместимости оборудования на странице дистрибутива linux:
Для Федоры здесь ,
Для Ubuntu здесь .

Вы также можете проверить на странице производителя ноутбука, какие операционные системы совместимы с определенной моделью оборудования

-1
21.03.2018, 13:11
1 ответ

Вам нужно сделать это

for i in {1..6}; do
    ip_var="IP_$i"
    id_var="ID_$i"
    wget... "http://${!ip_var}/..." -O "/home/administrator/Logs/${!id_var}/..."
done

Здесь используется «переменная косвенность», как описано в руководстве:https://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion

Однако пронумерованные переменные неуклюжи. Вместо этого используйте массивы:

ip=( "xx.xx.xx.xx" "xx.xx.xx.xx"... "xx.xx.xx.xx" )
id=( "yyyyy" "yyyyy"... "yyyyy" )

for ((i=0; i < ${#ip[@]}; i++)); do
    wget... "http://${ip[i]}/..." -O "/home/administrator/Logs/${id[i]}/..."
done
1
28.01.2020, 05:10

Теги

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