Size: a a a

2021 January 21

V

Vikentsi in pro.bash
В топку ` - тильды. Хуже тильд могут быть только вложенные ```
источник

EK

Evgeny Kuchkov in pro.bash
тильда это ~
источник

EK

Evgeny Kuchkov in pro.bash
я ошибся с названием
источник

EK

Evgeny Kuchkov in pro.bash
короче интересная особенность, столкнулся сегодня
источник

EK

Evgeny Kuchkov in pro.bash
почему так происходит — не знаю
источник

V

Vikentsi in pro.bash
Evgeny Kuchkov
я ошибся с названием
вот вот, обратную кавычку - вообще не нужно. Даже называть непонятно как.
источник

V

Vikentsi in pro.bash
echo "$(echo \"test\")"
"test"
echo "`echo \"test\"`"
test
источник

V

Vikentsi in pro.bash
вот здесь что-то не уловил, вроде одно и тоже? хотя \\ я убрал двойной. Нюансы однако.
источник

EK

Evgeny Kuchkov in pro.bash
в выхлопе нет кавычек
источник

EK

Evgeny Kuchkov in pro.bash
в ``
источник

EK

Evgeny Kuchkov in pro.bash
когда например ты делаешь так
a=`ssh root@host "cmd"`
источник

EK

Evgeny Kuchkov in pro.bash
и внутри cmd передается еще куча чего, через параметры
например дергается mysql -e “select blabla from table”
источник

EK

Evgeny Kuchkov in pro.bash
и куча кавычек
источник

EK

Evgeny Kuchkov in pro.bash
то в конце концов баш будет ругаться
источник

EK

Evgeny Kuchkov in pro.bash
вот пример реальный
manage:/# ssh -q root@ts1 "top -bn1| grep \"Cpu(s)\"|sed \"s/.*, *\([0-9.]*\)%* id.*/\1/\"|awk '{print 100-\$1}'"
28.5

запихиваем в переменную, все работает
manage:/# a=$(ssh -q root@ts1 "top -bn1| grep \"Cpu(s)\"|sed \"s/.*, *\([0-9.]*\)%* id.*/\1/\"|awk '{print 100-\$1}'")


запихиваем в переменную через ``
manage:/# a=`ssh -q root@ts1 "top -bn1| grep \"Cpu(s)\"|sed \"s/.*, *\([0-9.]*\)%* id.*/\1/\"|awk '{print 100-\$1}'"

и получаем ошибку
awk: cmd. line:1: {print 100-}
awk: cmd. line:1:            ^ syntax error
источник

V

Vikentsi in pro.bash
Видос пойдет по отладке shell скриптов? Свежий с пылу с жару :)
https://www.youtube.com/watch?v=UOGYgz0tTFo
YouTube
Методы и возможности отладки  скриптов оболочки Bash // Бесплатный урок OTUS
- Разберем методы, которые позволяют повысить качество shell скриптов и избегать ошибок.
- Рассмотрим специальные возможности оболочки для для отладки скриптов: ключи отладки, переменные полезные в режиме отладки, режим xtrace, команда trap.
- На практике повысим информативность сообщений отладочного режима.
- Запустим скрипт с типовыми ошибками, локализуем ошибки, рассмотрим причины их появления и сделаем скрипт рабочим.

Запишитесь, чтобы не пропустить!

«Administrator Linux. Professional» - https://otus.pw/POBt/

Преподаватель:  Викентий Лапа - test automation engineer

Подключайтесь к обсуждению в чате - https://otus.pw/LmzM/
Пройдите опрос по итогам мероприятия - https://otus.pw/jGlj/

Следите за новостями проекта:

- Facebook: https://otus.pw/3hO2
- Telegram: https://t.me/Otusjava
- ВКонтакте: https://otus.pw/850t
- LinkedIn: https://otus.pw/yQwQ/
- Хабр: https://otus.pw/S0nM/
источник

V

Vikentsi in pro.bash
Критика, пожелания,  дополнения приветствуются.
источник

∀lǝxǝʎ in pro.bash
потому что там \ по другому работает
When  the  old-style  backquote  form  of  substitution is used, backslash retains its literal meaning except when followed by $, `, or \.

1. просто не юзай это старое говно
2. если по простому то внутри `` backslash'и надо удваивать, НО см. п.1
источник
2021 January 22

VP

Vadim "Oxyd&quo... in pro.bash
Vikentsi
вот вот, обратную кавычку - вообще не нужно. Даже называть непонятно как.
бэктики backticks
источник

∀lǝxǝʎ in pro.bash
Vadim "Oxyd" Priluzkiy
бэктики backticks
в man'ах используется backquotes как видно на сообщение выше
источник