Tenho um script script.sh mas sou muito preguiçoso se ao executar devo abrir pela pasta onde está o arquivo e executá-lo no modo ./script.sh,
Como faço para que meu script use palavras-chave?
Eu tenho um arquivo script.sh
se eu escrever no comando
"testscript" abrirá o arquivo script.sh
ajuda por favor
Este é bem fácil, mas vou assumir que você ainda não conhece aliases.
Os aliases são maneiras de transformar seus próprios comandos personalizados em comandos funcionais reais. Eles vêm a calhar.
Abra seu diretório pessoal e crie um arquivo de texto simples chamado
.bash_aliases
. Vá em frente e salve-o - mas deixe-o aberto em seu editor.Agora, pense em uma palavra ou frase que você gostaria de usar para executar seu script. No meu caso, usei
test
.No meu diretório Documentos, criei um arquivo chamado
test.sh
e dentro dele contém:NOTA Você não deve esquecer de tornar seu script executável. Você pode fazer isso com
chmod +x
ou na GUI com uma opção de menu de clique com o botão direito/propriedades.Agora, de volta ao seu
.bash_aliases
arquivo, você desejará adicioná-lo como um comando. No meu caso, fica assim:NOTA Em todos esses casos, o "." e capitalização são essenciais. É sensível a maiúsculas e minúsculas.
Agora, você precisa dizer ao seu sistema para procurar (e recarregar qualquer novo) aliases. Isso é feito no terminal com o seguinte:
Depois de tudo isso, posso fazer isso:
Como você pode ver, você está dizendo onde estão os aliases e os está recarregando. Sempre que você adicionar novos aliases, precisará executá-los para torná-los utilizáveis.
EDIT: Embora o método acima funcione, ele só funcionará quando o terminal for aberto em seu
/home/user/
diretório. Tudo bem e esse é o local padrão que a maioria dos terminais abre, mas nem todo o trabalho do terminal é feito nesse diretório.A resposta é esta:
Agora, não importa em qual diretório você esteja, você pode digitar
test.sh
e funcionará. Isso não precisa de permissões elevadas e o script só pode operar com suas permissões de usuário ou quaisquer permissões adicionais que você conceder no momento da execução.Se eu tivesse que escolher, eu iria com este método - aquele em que você usa a variável do diretório inicial do usuário
$HOME
(novamente, diferencia maiúsculas de minúsculas) como um usuário genérico pode configurá-lo, configurá-lo, usá-lo etc ... Não requer acesso root ou quaisquer permissões extras.Como mencionado em outro lugar nesta resposta, existem várias maneiras de fazer isso. Escolha aquele que melhor se adapta às suas necessidades e requer menos permissões.
Método nº 2:
Fiquei entediado e decidi adicionar outra maneira.
Depois de tornar seu script executável, você pode mover seu script para
usr/bin
e apenas torná-lo um comando. No meu caso, usei uma GUI.No terminal, digitei:
Então, eu apenas copiei o test.sh para
usr/bin
- e ele manteve as permissões executáveis que eu apliquei antes.Neste ponto, eu poderia simplesmente usar
test.sh
e funcionaria.Eu não estava feliz com isso, então eu o renomeei para simplesmente
test1
e removi o .sh do nome do arquivo. O Linux não se importa muito com os nomes das extensões. Eu não poderia nomeá-lotest
, pois já havia um teste nousr/bin
diretório. Então,test1
é o que eu nomeei. Obviamente, você pode nomeá-lo como quiser, desde que não entre em conflito com outros nomes de arquivo.Agora, no terminal, funciona assim:
Como você pode ver, existem várias maneiras de fazer isso. Gosto mais do método de alias, pois não requer permissões elevadas e sou um grande fã do método 'menos permissões'.