Коли я використовую typeкоманду, щоб дізнатися, чи catє вбудована оболонка чи зовнішня програма, я отримую вихідний результат нижче:
-$ type cat
cat is hashed (/bin/cat)
-$
Чи означає це, що catце зовнішня програма /bin/cat?
Я заплутався, тому що, коли я перевірив вихід нижче, echoя побачив, що це програма, built-inале також програма/bin/echo
-$ type echo
echo is a shell builtin
-$ which echo
/bin/echo
-$
Тож я не міг використати логіку, яка /bin/catобов'язково означає зовнішню програму, адже відлуння було, /bin/echoале все ж вбудоване.
Тож як я знаю, що catтаке? Вбудований чи зовнішній?
type whichміг би дати вам відповідь, чому whichви не дасте відповіді.
catі lsє / було написано самим Сталлманом. Ви здивувалися б, скільки матеріалів написав він. Не забувайте, що він написав перші версії компілятора, який на сьогоднішній день є найкращим у світі компілятором, який збирає ВСЕ ТАКОЖ і більшість основних утиліт. Justinin '