Я побачив пару питань щодо виконання сценаріїв командного рядка? Я бачив, що згадуються розширення .command та .tool. Я завжди використовував .sh. Яка різниця між цими різними сценаріями? Чи дозволяють деякі розширення для різних команд?
Я побачив пару питань щодо виконання сценаріїв командного рядка? Я бачив, що згадуються розширення .command та .tool. Я завжди використовував .sh. Яка різниця між цими різними сценаріями? Чи дозволяють деякі розширення для різних команд?
Відповіді:
Програмно я впевнений, що різниця між першими двома (.command vs. .tool) є тонкими, тоді як третій по суті є простим сценарієм оболонки за замовчуванням. І насправді асоціюється з Xcode 4.1.
Я вважаю, що .sh файли за замовчуванням "належать" Xcode, тож якщо ви двічі клацнули по одному з них, він відкриється в Xcode замість виконання.
Файли .command та .tool за замовчуванням належать Terminal, тому якщо двічі клацнути на одному з них, він відкриється та виконається у Terminal.
Я не знаю жодних інших відмінностей між ними.
Я також використовував .sh для скриптів оболонки, але нещодавно зупинився, тому що почав писати свої скрипти оболонки в Zsh замість sh, і було заплутано намагатися запам'ятати, чи закінчилася певна команда .sh або .zsh, тому я нарешті просто поставив їх у ~ / bin / і переконався, що вони виконуються, і взагалі не використовують розширення файлів.