У чому різниця між розширеннями файлів .command, .tool та .sh?


22

Я побачив пару питань щодо виконання сценаріїв командного рядка? Я бачив, що згадуються розширення .command та .tool. Я завжди використовував .sh. Яка різниця між цими різними сценаріями? Чи дозволяють деякі розширення для різних команд?

Відповіді:


15
  • .command - (скрипт оболонки терміналу) Спеціально асоціює скрипт оболонки з терміналом. Іноді його називають "файлом терміналу".
  • .tool - (скрипт оболонки терміналу) Те саме, що розширення файлу ".command".
  • .sh - (сценарій оболонки) Основний скрипт оболонки, який асоціюється з Xcode 4.1.

Програмно я впевнений, що різниця між першими двома (.command vs. .tool) є тонкими, тоді як третій по суті є простим сценарієм оболонки за замовчуванням. І насправді асоціюється з Xcode 4.1.

введіть тут опис зображення


5
"... Я впевнений, що різниця між першими двома (. Command vs. .tool) є тонкими ..." Насправді, відмінності відсутні :-) Термінал трактує їх однаково. Два розширення імені файлу відображають в точно той же тип файлу в Info.plist терміналу, і Terminal не намагається визначити, яке розширення було надано. Крім того, крім того, що наявність різних розширень означає, що вони можуть мати різні програми за замовчуванням, вміст усіх трьох цих типів файлів однаковий. Всі вони просто сценарії оболонки.
Кріс Пейдж

2

Я вважаю, що .sh файли за замовчуванням "належать" Xcode, тож якщо ви двічі клацнули по одному з них, він відкриється в Xcode замість виконання.

Файли .command та .tool за замовчуванням належать Terminal, тому якщо двічі клацнути на одному з них, він відкриється та виконається у Terminal.

Я не знаю жодних інших відмінностей між ними.

Я також використовував .sh для скриптів оболонки, але нещодавно зупинився, тому що почав писати свої скрипти оболонки в Zsh замість sh, і було заплутано намагатися запам'ятати, чи закінчилася певна команда .sh або .zsh, тому я нарешті просто поставив їх у ~ / bin / і переконався, що вони виконуються, і взагалі не використовують розширення файлів.


Насправді вони не відкриваються в Xcode. І у мене на моїй машині встановлений Xcode.
daviesgeek

1
.sh файли можуть відкриватися в Xcode (натискання клавіші управління "" відкрити з ", як опція відображатиметься Xcode), але яке додаток вони відкриватимуть, залежатиме від того, який додаток вперше встановлено та" вимагає "розширення. Якщо інший додаток було встановлено перед Xcode та претензіями .sh, воно не відображатиметься як відкриття з Xcode.
TJ Luoma

1
Ви маєте рацію: окрім того, що різні розширення імені файлів дозволяють їм мати різні програми за замовчуванням, вміст цих файлів та обробка цих файлів однакові. Всі вони просто файли скриптів оболонки.
Кріс Пейдж
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.