синтаксис баша foo="bar" do_smth $foo или do_smth "$foo" в первой строке без $ - это важно
да, я по-быстрому хотел передать синтакс ок var="09"; script.pl --from="2020-11-$var 00:00" --to="2020-11-$var 23:59" не работает script.pl --from="2020-11-09 00:00" --to="2020-11-09 23:59" работает
Фигурные скобки вокруг $var
эммм... у меня работает. $ var="09"; echo STROKA: --from="2020-11-$var 00:00" --to="2020-11-$var 23:59" STROKA: --from=2020-11-09 00:00 --to=2020-11-09 23:59
не нужны, у него пробел после var
у меня с эхо тоже работает :) а с перловым скриптом - нет
помогло ${var} Oo спасибо
Значит, у тебя пробел какой-то больной. Потому что разницы быть не должно
abc=$(echo "abc lol") echo $abc echo "$abc" Как думаешь, что выведет? 🙂
прикольно. А почему так? Это же не массив.
Скорее всего, эхо скипает множественные пробелы
блин, сообразил. Они приходят как аргументы туда
abc у тебя принимает значение "abc lol" во второй строке ты вызываешь echo с аргументами abc, lol в третьей строке ты вызываешь echo с 1 аргументом "abc lol" То и выведет, что просишь. Пробелы и прочие разделители у нас на следующем уроке :)
не эко. Баш их отправляет, как отдельные аргументы.
Другой вопрос: abc=$(echo "abc lol") Если мы подставим результат выполнения echo (т.е. stdout от сабшелла с echo), то получится что-то вроде: abc=abc lol Так почему же тогда всё не ломается к чертям?
А почему оно должно ломаться? Это же один аргумент. Там можно и перевод строки, все равно будет работать
Запусти abc=abc lol
А это прочтется как вызов команды lol с передачей туда переменной abc
Ну окей, вот смотри: echo $(echo "abc lol") Чо напечатает?
подбиваешь меня запустить это в стрейсе, но мне лень.
Так зачем, там всё очевидно для сертифицированного bash-администратора
Я получил сертификат от LinkedIn, что я в top 5%!
Я теперь сертифицированный безработный еврей!
bash-разработчиков :)
понятно теперь, чому ты полдня сидишь в телеге, вместо того, чтобы работать
Я студентов учу джаве ёпта! (лан, оффтопик)
Обсуждают сегодня