Size: a a a

2021 June 22

🌚

🌚 YupiRex in pro.bash
If*
источник

🌚

🌚 YupiRex in pro.bash
if grep blabka ./file; then echo ok;fi
источник

🌚

🌚 YupiRex in pro.bash
if ! gper blabla file; then echo instanse not...;fi
источник

EK

Evgeny Kuchkov in pro.bash
gcloud compute instances start "$name" --zone="$zone"
[[ $? != 0 ]] && echo "instance not started. exiting"|ts && exit 1

if ! gcloud compute instances start "$name" --zone="$zone"; then
 echo "instance not started. exiting"|ts && exit 1
fi
источник

EK

Evgeny Kuchkov in pro.bash
так шоле?
источник

🌚

🌚 YupiRex in pro.bash
Не надо квадратные скобки
источник

EK

Evgeny Kuchkov in pro.bash
в чем прикол?
источник

EK

Evgeny Kuchkov in pro.bash
всю жизнь проверяли [ 'x'$? != 'x0' ]
источник

🌚

🌚 YupiRex in pro.bash
Не помню, но в шел чеке был пример , да и в принципе так рациональнее
источник

🌚

🌚 YupiRex in pro.bash
Да вроде из за такой конструкции чтобы не мудрить
источник

EK

Evgeny Kuchkov in pro.bash
источник
2021 June 23

А

Артём in pro.bash
Добрый день, уважаемые знатоки! Внимание вопрос:
запускаю из под рута
/usr/bin/find /var/www/project/releases -type f -name "*.css.gz" -o -name "*.js.gz" -not -path "*/tmp_clone/*" -not -path "*/upload/*" -not -path "*/img.samsonopt.ru/*" -exec rm -f {} \;

файлы не удаляются
но почему?
источник

∀lǝxǝʎ in pro.bash
1. не надо писать -exec rm -f {} \;, есть встроенный -delete
2. css.gz НЕ удаляться в любом случае, потому что not path исключения применяться только к js.gz
3. продолжим п.2: по этой же причине exec сработает тоже только для js

п.2 и п.3. это обычная логичкая ошибка OR надо брать в скобки
\( -name "*.css.gz" -o -name "*.js.gz" \)
источник

А

Артём in pro.bash
Спасибо! Со скобками всё получилось. Но не понятно почему я видел список этих файлов но в  {} у exec как будто ничего не передавалось?
источник

∀lǝxǝʎ in pro.bash
список ты видел только css файлов, а js должны были удаляться
источник

EK

Evgeny Kuchkov in pro.bash
чят, я тут запилил себе по работе одну штуку для автоматизации рутины, вот сильно обрезанный код, который работает
в башрц есть функция
function get_creds() {
[[ ! $1 ]] && declare -A a || declare -n a="$1"
a['mysql_user']=$(crudini --get  /etc/mvts3g/access-db.conf master user)

if [[ ! $1 ]]; then
 for i in "${!a[@]}"; do
   echo -e "${i}\t"="\t${a[$i]}"
 done|sort
fi
}
когда я её просто дергаю без аргументов, у меня эхо выводит ассоциативный массив
root@mpro-ns-1:~# get_creds
mysql_user      =       rtu
дальше я могу заполнить кредами новый массив вот таким образом
root@mpro-ns-1:~# declare -A creds && get_creds creds
root@mpro-ns-1:~# echo ${creds[mysql_user]}
rtu
root@mpro-ns-1:~#
я подумал что не очень удобно держать эту функцию в башрц, ибо её могут дергать не только рут
решил перенести в /usr/local/bin/ как отдельный сшник
источник

EK

Evgeny Kuchkov in pro.bash
скопипастил тело функции и запилил в сш
теперь когда я дергаю без аргументов все робит
root@mpro-ns-1:~# get_creds
mysql_user      =       rtu

но поломалось заполнение массива
root@mpro-ns-1:~# declare -A creds && get_creds creds
/usr/local/bin/get_creds: line 4: 'mysql_user': syntax error: operand expected (error token is "'mysql_user'")
root@mpro-ns-1:~#
источник

EK

Evgeny Kuchkov in pro.bash
я видимо чот не понимаю в этих ваших линуксах
источник

ł

łibfitź.r13.a in pro.bash
Господа, как в переменную засунуть текст с кавычками, чтобы они остались нетронутыми? Что-то комбинации одинарных и двойных кавычек работают совсем не так, как задумывается
источник

🌚

🌚 YupiRex in pro.bash
q='qwe"ty"yui'; echo $q
источник