Как поместить результат булева теста в переменную? - PullRequest
0 голосов
/ 31 марта 2020

Есть кое-что, чего я не понимаю в отношении Bash назначения переменных. Я хочу создать предикат (то есть переменную со значением true или false) foo, которую я мог бы использовать позже в своем сценарии и которая была бы равна результату определенной логической операции. Идеальный код был бы похож на следующий, который не работает:

var=1
foo=[[ $var = 2 ]] # wishing foo to be equal to the result of the test "$var = 2"
bash: 1 : command not found
foo=test $var = 2
bash: 1 : command not found

Другими словами, мне интересно, есть ли более короткий путь, чем:

f(){
  if [[ $var = 2 ]]; then echo true
  else echo false
  fi
}
foo=$(f)

, который мог бы дать то же самое окончательное значение для foo. Что вы думаете об этом? Спасибо за ваши ответы.

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Echo "is active" >> server log.txt

Или

Эхо-результат systemctl

> This will always make a new file

>> Will append to a file or create if not there

Вы можете также возможно записать время в файл.

Дополнительно

== Я считаю необходимым проверить, является ли цифра c истинной -eq Я верю, если строка

echo "Run script"

    read -r approveAction

     approved=$(echo "$approveAction" | awk '{print tolower($1)}' | sed "s/[^[:alpha:]^[:digit:]]//g")

     if [ $approved == "y" ] ;

     then

      when=date
         echo "user agreement "$when>> userlog.log
       ./script.sh


     fi 

Вот пример из скрипта, запрашивающего у пользователей разрешение на запуск скрипта

ИЗ ВАШЕГО ИЗМЕНЕНИЯ ВОПРОСА

var=1

if [[ $var == 1 ]]; then 
    echo "true" 
else 
    echo "false"
fi

Это работает

0 голосов
/ 31 марта 2020

Чтобы постоянно хранить переменную, вы должны использовать db или файл, вместо этого, если вы хотите сохранить ее только для этого сеанса, отметьте это: " Что такое сеансы? Как они работают? ". если вы хотите сохранить его в файле, проверьте: it: Сохранение php вывода в файл"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...