Como criar um arquivo universal (script) para um Mac, baseado em vários comandos do Terminal

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

  • Você quer dizer que deseja executar um script sem que o usuário digite a senha deles?
  • @Allan Eu quero executar um arquivo em vez de vários comandos . Executá-lo sem que o usuário digite a senha pelo menos uma vez seria bom, mas provavelmente impossível se eu ' não me engano.
  • Que ' é definitivamente possível, a menos que você precise fazer algo que exija administração – veja minha resposta abaixo
  • Talvez não exatamente o que você ' re depois, mas achei muito eficaz. Você pode usar alias, por exemplo alias 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 digitar ns. Bliss.

Resposta

Resposta curta

A .command o script deve fazer o truque


Passo a passo

  1. Abra o TextEdit e crie um novo arquivo
  2. Converter para texto simples clicando em Formatar> Criar texto simples
  3. Adicione seus comandos, um por linha. Por exemplo, você poderia fazer:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Executar em seu terminal, onde ~/Desktop/myCommandScript.command é o caminho para o seu script. Isso dará ao terminal permissão para executar o arquivo.

  5. 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 como someAdminName (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 .

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *