как отображать двойные кавычки

Это было бы:

until [ -e filename.txt ]; do
 ./Server
done

То же, что и:

while [ ! -e filename.txt ]; do
 ./Server
done

В Linux вы также можете:

while true; do
  # wait for filename.txt to be removed if it's there:
  inotifywait -qe DELETE_SELF filename.txt 2> /dev/null
 ./Server
done

Предотвратить запуск Serverтолько при наличии файла, но запустить его снова, как только он будет удален.

Если вы являетесь администратором на машине, имеет смысл добавить ее в качестве службы, обрабатываемой вашей системой инициализации, которая позаботится о ее правильной демонизации, перезапуске (возрождении )при неожиданном выходе, если это необходимо. и т. д. Затем вы должны выполнить service whatever stopперед редактированием и startпосле.

0
25.07.2019, 11:59
2 ответа

Попробуйте этот синтаксис:

admin@srv-web:~$ cat test.sh

#!/bin/bash 
cat > test.conf << 'EOF' 
AA=${one:-["one","two"]} 
EOF

и результат:

administrateur@srv-web:~$./test.sh ; cat test.conf
AA=${one:-["one","two"]}
1
28.01.2020, 02:22

Странная обработка котировок внутри расширений.

Это делает то, что вы хотите...

$ echo "${one:-["\"one\"","\"two\""]}"
["one","two"]

Но здесь по-другому -документ...

$ cat <<EOF
> ${one:-["\"one\"","\"two\""]}
> EOF
[\"one\",\"two\"]

Наверное, проще всего поместить значение по умолчанию в переменную:

$ def_one='["one","two"]'
$ cat <<EOF
> ${one:-$def_one}
> EOF
["one","two"]
2
28.01.2020, 02:22

Теги

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