Size: a a a

2021 May 23

Лс

Лень с Самосознанием... in pro.bash
Эм... Зачем???
источник

Мл

Мастер ломастер... in pro.bash
Ну пишу скрипт для первичной автонастройки и установки необходимого в системе. Bash всегда стоит в системе, а интерпритаторы нужного языка - нет.
источник

Мл

Мастер ломастер... in pro.bash
Собственно зачем я задавал вопрос выше. Писал функцию которая принимает в качестве параметра выводимую строку и команду которая она должна исполнить. Например при выполнении
foo "установка программы" "apt install bar"

Ожидаемый результат вывода в консоли:

В случае успеха
Установка программы... [ОК]

В случае ошибки
Установка программы... [FAIL]
источник

Мл

Мастер ломастер... in pro.bash
Я уже реализовал то что мне было нужно, но подумал может есть что то готовое
источник

аᶘ

асоциальный пикотран... in pro.bash
Можно просто делать всё подряд и в случае ошибки выпадать в обработчик ошибки и писать [FAIL]
источник

аᶘ

асоциальный пикотран... in pro.bash
set -e
fail() {
 printf '[FAIL]\n'
}

trap EXIT 'fail'


printf 'Установка программы...'
apt install bar
printf '[OK]\n'
источник

V

Vikentsi in pro.bash
Так можно и без eval.   Написать  cmd=ls ; $cmd
источник

аᶘ

асоциальный пикотран... in pro.bash
а с аргументами?
источник

V

Vikentsi in pro.bash
Но я не помню почему так не рекомендуют делать.
источник

V

Vikentsi in pro.bash
Да с аргументами. Оболочка подставит на место $cmd  строку с аргументами.   Я оболочку иногда как макропроцессор воспринимаю. Типа подстановки строк где надо и не надо.
источник

V

Vikentsi in pro.bash
О. Классный пример !
источник

Мл

Мастер ломастер... in pro.bash
silent()
{
 if $SILENT; then
   $* &> /dev/null
 else
   $*
 fi
}

progress(){
 echo -n "$1... "
 shift
 silent eval $*
 if [ $? -eq 0 ]; then
   echo '[OK]'
 else
   echo '[FAIL]'
 fi
}
источник

Мл

Мастер ломастер... in pro.bash
я сделал так
источник

Мл

Мастер ломастер... in pro.bash
фунция silent используется еще и в других функциях и перенапрвляет вывод сообщений в зависимости от переменной SILENT
источник

V

Vikentsi in pro.bash
Песка вам принес старческого :) http://www.catb.org/~esr/writings/unix-koans/shell-tools.html
источник

V

Vikentsi in pro.bash
Мне кажется если eval убрать оно будет работать.
источник

Лс

Лень с Самосознанием... in pro.bash
Как-то так
источник

Лс

Лень с Самосознанием... in pro.bash
источник

V

Vikentsi in pro.bash
И вот эта конструкция $? -eq 0  она обычно избыточна.  Вариант который через trap выше предложили он надёжнее.
источник

Мл

Мастер ломастер... in pro.bash
Спасибо, изучу, посмотрю
источник