Primeiro, estou usando o Mac.
Em seguida, eu preciso executar esse "arquivo.sh" que chamaremos. Sempre que preciso executá-lo, tenho que abrir o Terminal e digite:
cd /Users/Jacob/Documents/folderWithFileInIt
bash file.sh
Está tudo bem, mas acho que seria muito mais rápido se eu executasse o arquivo com um clique duplo, não acha?
Então, minha pergunta é: como faço para que este arquivo seja executável via clique duplo?
Minhas idéias eram:
a) digite algo como chmod no terminal e altere as permissões?
b) crie um arquivo, coloque o código que escrevi acima nele ^ e depois torne esse arquivo executável?
c) fazer uma automação de alguma forma para fazer isso?
Qual o melhor caminho ou existe um caminho ainda melhor? Também, por favor, explique o máximo que puder, sou novo no Terminal. Obrigado.
bash
macos
terminal
executable
Jacob
fonte
fonte
Respostas:
Por padrão, os
*.sh
arquivos são abertos em um editor de texto (Xcode ou TextEdit). Para criar um script de shell que será executado no Terminal quando você o abrir, nomeie-o com a extensão "command", por exemplofile.command
,. Por padrão, eles são enviados ao Terminal, que executará o arquivo como um script de shell.Você também precisará garantir que o arquivo seja executável, por exemplo:
Sem isso, o Terminal se recusará a executá-lo.
Observe que o script não precisa começar com um
#!
prefixo nesse cenário específico, porque o Terminal organiza especificamente a execução com seu shell padrão. (Obviamente, você pode adicionar uma#!
linha se quiser personalizar qual shell é usado ou se deseja garantir que possa executá-lo na linha de comando enquanto estiver usando um shell diferente.)Observe também que o Terminal executa o shell script sem alterar o diretório de trabalho. Você precisará iniciar seu script com um
cd
comando se realmente precisar que ele seja executado com um diretório de trabalho específico.fonte
cd "`dirname "$0"`"
para definir o diretório de trabalho atual como o diretório onde está o seu skript do shell.open -n ...
comando. Funciona, mas sempre que a janela do Terminal é aberta e mostra "[Processo concluído]". É possível impedir a aparência da janela do Terminal de alguma forma?Remova a extensão completamente e clique duas vezes nela. A maioria dos scripts de shell do sistema é assim. Contanto que tenha um shebang , funcionará.
fonte
Você pode simplesmente dizer ao Finder para abrir o
.sh
arquivo no Terminal:Isso terá exatamente o mesmo efeito que renomeá-lo,
.command
exceto ... você não precisa renomeá-lo :)fonte
O nome do arquivo deve estar entre aspas duplas. Desde que eu estou usando Mac-> No meu caso, o conteúdo do arquivo em lotes é
cd / Usuários / seuNome / Documentos / SeleniumServer
hub java -jar selenium-server-standalone-3.3.1.jar -role
Isso vai funcionar com certeza
fonte
você pode alterar o arquivo executável usando o
chmod
seguintee use este comando para executar
fonte