AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1264296
Accepted
Joe Cola
Joe Cola
Asked: 2020-08-04 08:16:46 +0800 CST2020-08-04 08:16:46 +0800 CST 2020-08-04 08:16:46 +0800 CST

Criar comando de aplicativo no Ubuntu

  • 772

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

application-development command-line bash
  • 1 1 respostas
  • 453 Views

1 respostas

  • Voted
  1. Best Answer
    KGIII
    2020-08-04T09:10:00+08:002020-08-04T09:10:00+08:00

    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.she dentro dele contém:

    echo "This is a test script!"
    

    NOTA Você não deve esquecer de tornar seu script executável. Você pode fazer isso com chmod +xou na GUI com uma opção de menu de clique com o botão direito/propriedades.

    Agora, de volta ao seu .bash_aliasesarquivo, você desejará adicioná-lo como um comando. No meu caso, fica assim:

    alias test="./Documents/test.sh"
    

    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:

    source ~/.bash_aliases
    

    Depois de tudo isso, posso fazer isso:

    $ test
    This is a test script
    

    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:

    $HOME/Documents/test.sh
    

    Agora, não importa em qual diretório você esteja, você pode digitar test.she 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/bine apenas torná-lo um comando. No meu caso, usei uma GUI.

    No terminal, digitei:

    sudo pcmanfm
    

    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.she funcionaria.

    Eu não estava feliz com isso, então eu o renomeei para simplesmente test1e 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á-lo test, pois já havia um teste no usr/bindiretó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:

    $ test1
    This is a test script
    

    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'.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve