Курс по Raku / Обекти, вход-изход и изключения / Вход и изход / Стартиране на външни програми 🆕 / Exercises / Изпълнете команда
Решение: Изпълнете команда
Ето едно възможно решение на задачата.
Код
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изобщо да е стартирал.)