Existe uma maneira de criar um invólucro de linha de comando para um arquivo bash?

3

O título diz tudo. Eu gostaria de digitar "run" na linha de comando e ele executaria /pathtoscript/script.sh.
. Obrigada!

    
por QuyNguyen2013 28.07.2014 / 21:23

2 respostas

2

Crie um arquivo chamado run com o conteúdo:

#!/bin/sh
exec /pathtoscript/script.sh "$@"

Coloque o arquivo no seu caminho e defina o bit executável.

Qual é o "seu caminho"?

Na linha de comando, digite:

echo $PATH

Você verá uma lista de diretórios separados por dois pontos. Estes são os diretórios que o shell pesquisa ao procurar um comando para executar. Eles são chamados coletivamente de caminho. Você desejará colocar seu novo arquivo run em qualquer um desses diretórios.

Abordagem alternativa para trabalho interativo

Se você quiser que apenas run funcione quando estiver trabalhando de forma interativa, poderá criar um alias:

alias run=/pathtoscript/script.sh

Se você quiser que esse alias seja salvo permanentemente, coloque essa linha no .bashrc em seu diretório inicial.

    
por 28.07.2014 / 21:30
2

Em shells * nix, a maneira como isso é feito é adicionar um arquivo executável (ou link simbólico a um arquivo executável) a um dos diretórios listados em < strong> a variável PATH . De uma sessão hipotética:

$ which foo
which: no foo in (/usr/local/sbin:/usr/local/bin:/usr/bin)
$ foo
bash: foo: command not found
$ echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/bin
$ sudo ln -s /path/to/my/script /usr/local/bin/foo
$ foo
[whatever your script prints]
    
por 28.07.2014 / 21:34