Недопустимый арифметический оператор при цикле с использованием вывода команд aws cli

Я понял, я использовал GNU Debuggerили gdbдля создания отстойника ядра для контейнера снаружи контейнера,

  1. «sudo docker ps -a | grep service _имя контейнера _», чтобы получить идентификатор контейнера.
  2. «sudo docker inspect [идентификатор контейнера] | больше», чтобы получить родительский PID
  3. "pstree -pg [parent pid]", чтобы получить дочерний PID
  4. "sudo ps -aux | grep [дочерний pid]"
  5. «PID sudo gcore»
0
14.11.2020, 01:57
1 ответ

Бьюсь об заклад, у вас там заблудившийся возврат вагона:

$ upTime=$'42\r'
$ [[ $upTime -le 120 ]] && echo y || echo n
")syntax error: invalid arithmetic operator (error token is "
n

И из-за ошибки [[возвращает не -ноль, и цикл while завершается слишком рано.

Попробуйте это:

printf "Value of upTime after command invocation = %q\n" "$upTime"

Если я прав, вы можете удалить CR с расширением параметра:

upTime=${upTime%$'\r'}

или с sed

upTime=$(aws... | sed 's/\r$//')
2
18.03.2021, 22:49

Теги

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