Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Розширення

Кожен раз, коли ми вводимо команду та натискаємо клавішу Enter, бити виконує кілька процесів над текстом, перш ніж виконати нашу команду. Ми бачили кілька випадків того, як проста послідовність символів, наприклад «*», може мати багато сенсу для оболонки. Процес, завдяки якому це відбувається, називається розширення. Під час розширення ми вводимо щось, і воно розширюється в щось інше, перш ніж оболонка діятиме на це. Щоб продемонструвати, що ми маємо на увазі під цим, давайте подивимося на нудьгувати команда нудьгувати це вбудована оболонка, яка виконує дуже просте завдання. Він друкує свої текстові аргументи на стандартному виводі:



[me@linuxbox ~]$ echo це тест

це перевірка

[me@linuxbox ~]$ echo це тест

це перевірка


Це досить просто. Будь-який аргумент, переданий до нудьгувати відображається. Спробуємо інший приклад:



[me@linuxbox ~]$ луна*

Документи для робочого столу ls-output.txt Музика Зображення Загальнодоступні шаблони Відео

[me@linuxbox ~]$ луна*

Документи для робочого столу ls-output.txt Музика Зображення Загальнодоступні шаблони Відео


Так що ж трапилося? Чому ні нудьгувати надрукувати «*»? Як ми пам’ятаємо з нашої роботи з підстановочними знаками, символ «*» означає відповідність будь-яким символам у назві файлу, але те, що ми не бачили в нашому початковому обговоренні, так це те, як оболонка це робить. Проста відповідь полягає в тому, що оболонка розширює «*» на щось інше (у цьому випадку на імена файлів у поточному робочому каталозі) перед нудьгувати виконується команда. Коли клавіша введення є


натиснувши, оболонка автоматично розгорне будь-які кваліфікаційні символи в командному рядку перед виконанням команди, тому нудьгувати команда ніколи не бачила «*», лише її розгорнутий результат. Знаючи це, ми бачимо це нудьгувати поводився, як очікувалося.


 

Найпопулярніші хмарні обчислення ОС на OnWorks: