Сценарий оболочки — использование исходной команды с инструкцией if

#macos #shell #zsh

#macos #оболочка #zsh

Вопрос:

У меня есть скрипт, который использует оператор if, как показано ниже:

 if [ "$_nowTime" > "$_authExpiration" ]; then
    echo "Your last token has expired"
    promptForMFA
  fi
 

когда я запускаю его с помощью команды «source» или «‘», я получаю сообщение об ошибке «ожидаемое условие:>», похоже, источнику не нравится обратная косая черта, в случае, если я ее удаляю, он обрабатывает ее как канал и создает файл.

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

1. Я использую zsh. Я решил это так — if [ «$ _nowTime> $ _authExpiration» ]; затем…

2. Моя ошибка, а также то, что я упоминал ранее, на самом деле не решили проблему

3. Хорошо, пожалуйста, покажите, как установить значения для $_nowTime и $_authExpiration тоже. Я предположил, что вы сохранили в них числовые значения, когда я писал свой (теперь удаленный) ответ.

4. Перенаправление — это не канал.

Ответ №1:

Решается путем добавления другого квадрата: if [[ «$ _nowTime»> «$ _authExpiration» ]]

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

1. Можете ли вы принять свой собственный ответ, пожалуйста, чтобы ваш вопрос не оставался открытым?