команда `watch` с конвейером `|` [дубликат]

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

line="dog,/path1,/path2"
first="$(echo "${line}" | awk -F, '{ print $1 }')"
eval "${first}1=$(echo "${line}" | awk -F, '{ print $2 }')"
eval "${first}2=$(echo "${line}" | awk -F, '{ print $3 }')"

echo "${dog1}"
/path1
echo "${dog2}"
/path2
3
27.08.2018, 20:42
2 ответа

Вы должны заключить команду в кавычки

watch 'squeue -u mnyber004 | grep 4138'
12
27.01.2020, 21:08

В другом ответе рассказывается, как использовать утилиту «watch» с конвейером, но, поскольку вы используете Slurm и знаете идентификатор задания, просто спросите Slurm о статусе этого задания:

$> watch squeue -j 4138
4
27.01.2020, 21:08

Теги

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