Size: a a a

2018 June 16

D

Dima in pro.bash
Kirill Geyzerov
Ненет, ты пытаешься реалии высокоуровневых языков перенсти на bash. Чтобы прсвоить переменной результат команды (не оператора, как в нормальных языках), ты делаешь

a=$(bla bla)
присвоить результат команды а не оператора - вот не ухватываю
источник

D

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

D

Dima in pro.bash
x = a + b
источник

D

Dima in pro.bash
это присвоение результата оператора?
источник

KG

Kirill Geyzerov in pro.bash
В том-то и дело, что операторов, как таковых в баш нет. Есть специальные конструкции типа
$()
(( ))
""
|| &&
| >> > <
И т.п., а также литералы которые можно напрямую присвоить переменной

Все остальное а баш -- команды (программы, скрипты)
источник

KG

Kirill Geyzerov in pro.bash
Поэтому и говорят, что в целом, баш не подходит для разработки, т.к. языковой выразительностью, а значит простотой разработки сложных эффективных решений -- не обладает.
источник

KG

Kirill Geyzerov in pro.bash
Запустить несколько команд, перенаправить потоки ввода-вывода между ними, послать сигналы, проверить файлы на существование -- это еще норм. Но когда возникает мало-мальски вменяемая бизнес-логика или вычисления -- прибегают к действительно ЯП
источник

KG

Kirill Geyzerov in pro.bash
Dima
x = a + b
Нет такого оператор в bash
Но
x=$(( a + b ))

UPD
(( x = a + b ))
источник

KG

Kirill Geyzerov in pro.bash
Или как-то так, уже точно не помню
источник

KG

Kirill Geyzerov in pro.bash
В таком случае говорят: есть конструкция $((, в которой можно писать мат выражение, а результат напрямую присваивать переменной
источник

KG

Kirill Geyzerov in pro.bash
Опять же, переменной окружения, если быть точным
источник

KG

Kirill Geyzerov in pro.bash
По ходу знак доллара там не нужен, и вообще
(( a = x + y ))
источник

KG

Kirill Geyzerov in pro.bash
Жжесть
источник
2018 June 17

NK

ID:308371145 in pro.bash
подскажите что значит:

(
   команда1;
   команда2;
   команда3;
) | команда4;
источник

KG

Kirill Geyzerov in pro.bash
Запустить в отдельном процессе выполнение по очереди 3-х комманд. Весь вывод (stdout) получившегося процесса перенаправить на ввод команды 4.
источник

NK

ID:308371145 in pro.bash
спасибо
источник

D

Dima in pro.bash
источник

D

Dima in pro.bash
источник

D

Dima in pro.bash
сокращения
cntrl-u удалить влево от курсора
cntrl-w удалить слово
cntrl-k у меня это равно команде $ clear
cntrl-y вставить удаленное за курсор.
источник

D

Dima in pro.bash
хотя cntrl-k должа удалять справа от курсора. видимо это сокращение  Visual studio code на моей машине.
источник