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

20

Eu tenho vários comandos do Terminal que uso para fins de solução de problemas, digitando-os um a 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.

Eu nunca fiz algo assim antes. Existe alguma maneira de criar esse script? Por favor informar.

0lesya
fonte
Você quer perguntar se deseja executar um script sem que o usuário digite sua senha?
Allan
@ Allan Eu quero executar um arquivo em vez de vários comandos . Executá-lo sem que o usuário digite sua senha pelo menos uma vez seria bom, mas provavelmente impossível se não me engano.
precisa saber é o seguinte
Isso é definitivamente possível, a menos que você precisa fazer algo que requer admin - veja minha resposta abaixo
Cullub

Respostas:

30

Resposta curta

Um .commandscript deve fazer o truque


Passo a passo

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

  4. Execute chmod u+x ~/Desktop/myCommandScript.commandno seu terminal, onde ~/Desktop/myCommandScript.commandestá o caminho para o seu script. Isso dará ao terminal permissão para executar o arquivo.

  5. Você Terminou! Clique duas vezes no arquivo a ser executado. Arrastar sobre o ícone do terminal também funcionará.

Notas:

  • Se você precisar fazer algo que exija acesso root (admin), poderá prefixar seu comando sudo. Quando o script for executado, você precisará digitar sua senha (e ser um administrador)
  • Se o usuário final não for um administrador, mas você precisar fazer algo que exigisse acesso root, poderá usar o su someAdminNameque executará o comando como someAdminName(você precisará da senha dele).

Você também pode ver aqui no Stack Overflow para obter mais informações.

Cullub
fonte
Existe uma maneira de criar um arquivo de comando para não sair? Eu quero ter um arquivo de comando que abre o terminal com a variável de caminho predefinida.
Royi 01/09/19
8

Um script é apenas uma série de comandos, então você pode colocá-lo em um script bash.

#!/bin/bash

command 1
command 2
command 3

Agora, tudo isso depende do tipo de comando e da necessidade ou não de intervenção do usuário.

No entanto, se você estiver obtendo informações de diagnóstico, por exemplo, poderá ter um script que

#!/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 ao console (tela). No entanto, você pode redirecionar a saída para um arquivo anexando >> /path/to/outputfile.txtno final de cada comando para ter um arquivo que possa ser analisado assim que o arquivo terminar de ser executado.

Você pode nomear o arquivo diagnostics.she colocá-lo onde quiser. Apenas certifique-se de torná-lo executável emitindo o comando chmod +x diagnostics.she use-o ./diagnostics.shpara executá-lo ou clique duas vezes nele para executá-lo se ele estiver salvo na área de trabalho .

Allan
fonte