Vi algumas perguntas sobre a execução de scripts de linha de comando? Vi que as extensões .command e .tool foram mencionadas. Eu sempre usei .sh. Qual é a diferença entre esses diferentes scripts? Algumas extensões permitem comandos diferentes?
Vi algumas perguntas sobre a execução de scripts de linha de comando? Vi que as extensões .command e .tool foram mencionadas. Eu sempre usei .sh. Qual é a diferença entre esses diferentes scripts? Algumas extensões permitem comandos diferentes?
Respostas:
Programaticamente, tenho certeza de que a diferença entre os dois primeiros (comando vs. ferramenta) é sutil, enquanto o terceiro é essencialmente um script shell padrão e simples. E de fato se associa ao Xcode 4.1.
Eu acredito que os arquivos .sh são "de propriedade" do Xcode por padrão; portanto, se você clicar duas vezes em um deles, ele será aberto no Xcode em vez de ser executado.
Os arquivos .command e .tool pertencem ao Terminal por padrão; portanto, se você clicar duas vezes em um deles, ele será aberto e executado no Terminal.
Não conheço outras diferenças entre eles.
Também usei .sh para scripts de shell, mas parei recentemente porque comecei a escrever meus scripts de shell em Zsh em vez de sh, e era confuso tentar lembrar se um determinado comando terminava em .sh ou .zsh, então finalmente coloquei todos em ~ / bin / e verifiquei que eles eram executáveis e não use extensões de arquivo.