Курс по Raku / Обекти, вход-изход и изключения / Вход и изход / Стартиране на външни програми 🆕 / Exercises / Изпълнете команда

Решение: Изпълнете команда

Ето едно възможно решение на задачата.

Код

run 'echo', 'home:', '$HOME';

🦋 Намерете програмата във файла run-a-command.raku.

Изход

home: $HOME

Коментари

  1. run стартира echo направо, подавайки всеки низ като отделен аргумент. Без :out изходът на програмата отива право на екрана.

  2. Аргументът стига до echo точно както е написан: $HOME се отпечатва буквално, а не заменен с домашната ви директория, защото не участва обвивка, която да го разгъне. Именно затова run е безопасният избор по подразбиране — същата команда, подадена на shell, би могла да се държи съвсем различно.

  3. За да отпечатате наистина домашната директория, оставете обвивката да направи разгъването: shell 'echo home: $HOME' отпечатва нещо като home: /home/anna. (Запазете единичните кавички и от страна на Raku — низ в двойни кавички "$HOME" би накарал самия Raku да се опита да интерполира променлива на име $HOME, преди echo изобщо да е стартирал.)

Навигация в курса

Изпълнете команда   |   Прихванете изхода