Курс Raku / Об’єкти, введення-виведення та винятки / Введення та виведення / Запуск зовнішніх програм 🆕 / Вправи / Запустіть команду
Розв’язання: Запустіть команду
Ось один із можливих варіантів розв’язання задачі.
Код
run 'echo', 'home:', '$HOME';🦋 Вихідний код можна знайти у файлі run-a-command.raku.
Вивід
home: $HOMEКоментарі
runзапускаєechoнапряму, передаючи кожен рядок окремим аргументом. Без:outвивід програми йде просто на екран.Аргумент доходить до
echoточно таким, як записано:$HOMEвиводиться буквально, а не замінюється вашим домашнім каталогом, бо жодна оболонка не залучена, щоб його підставити. Саме томуrunє безпечним вибором за замовчуванням: та сама команда, віддана доshell, могла б повестися зовсім інакше.Щоб справді вивести домашній каталог, дозвольте підстановку оболонці:
shell 'echo home: $HOME'виводить щось на кшталтhome: /home/anna. (Тримайте одинарні лапки й на боці Raku — рядок у подвійних лапках"$HOME"змусив би сам Raku спробувати інтерполювати змінну на ім’я$HOMEще до того, якechoвзагалі запуститься.)