Tenho vários comandos do Terminal que uso para fins de solução de problemas, digitando-os um por um na janela do terminal.
Esses comandos exigem que a senha do usuário seja digitada.
Estou procurando uma maneira de criar um arquivo universal (script) com esses comandos. Quero poder executar o arquivo em um Mac apenas clicando duas vezes nele ou arrastando o arquivo sobre o ícone do Terminal.
Nunca fiz nada assim antes. Existe alguma maneira de criar esse script? Por favor, avise.
Comentários
Resposta
Resposta curta
A .command
o script deve fazer o truque
Passo a passo
- Abra o TextEdit e crie um novo arquivo
- Converter para texto simples clicando em Formatar> Criar texto simples
-
Adicione seus comandos, um por linha. Por exemplo, você poderia fazer:
#! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder
-
Executar em seu terminal, onde
~/Desktop/myCommandScript.command
é o caminho para o seu script. Isso dará ao terminal permissão para executar o arquivo. - Pronto! Clique duas vezes no arquivo para executar. Arrastar sobre o ícone do terminal também funcionará.
Observações:
- Se você precisa fazer algo que requer acesso root (admin), você pode prefixar seu comando com
sudo
. Quando o script for executado, você terá que inserir sua senha (e ser um administrador) - Se o usuário final não for um administrador, mas você precisa fazer algo que requer acesso root, você pode usar
su someAdminName
, que executará o comando comosomeAdminName
(você precisará da senha dele).
Você também pode ver aqui no Stack Overflow para um pouco mais de informações.
Comentários
- Existe uma maneira de fazer com que um arquivo de comando não saia? Quero ter um arquivo de comando que abra o terminal com a variável de caminho predefinida.
Resposta
Um script é apenas uma série de comandos, para que você possa colocá-los em um script bash.
#!/bin/bash command 1 command 2 command 3
Agora, tudo isso depende dos tipos de comando e se eles requerem intervenção do usuário.
No entanto, se você estiver obtendo informações de diagnóstico, por exemplo, você pode ter um script que faz
#!/bin/bash # Get SMART status of main drive diskutil info disk0 | grep -i smart # Get the model of the machine in question system_profiler SPHardwareDataType | grep -i Identifier
Esses são apenas exemplos . Lembre-se de que qualquer saída gerada será enviada para o console (tela). No entanto, você pode redirecionar a saída para um arquivo anexando >> /path/to/outputfile.txt
no final de cada comando para que tenha um arquivo que possa analisar assim que a execução do arquivo terminar.
Você pode nomear o arquivo diagnostics.sh
e colocá-lo em qualquer lugar que desejar. Apenas certifique-se de torná-lo executável emitindo o comando chmod +x diagnostics.sh
e use ./diagnostics.sh
para executá-lo ou clique duas vezes nele para executá-lo se estiver salvo em sua área de trabalho .
alias
, por exemploalias ns="sudo netstat -tulpn"
. Você pode até mesmo colocá-los em@reboot
linhas no Crontab se quiser em todas as inicializações. Agora posso apenas digitarns
. Bliss.