execute as opções do script de shell

3

Eu normalmente uso cd Directory/Directory/ para apontar para o diretório do shell e, em seguida, digito bash shell.sh , mas eu queria saber se existe uma maneira mais fácil de executar meu shell & o local com uma linha? Eu salto para pastas diferentes com freqüência.

Exemplo: pasta unix com um script de shell chamado alpha

cd Desktop/unix
bash alpha.sh
    
por DᴀʀᴛʜVᴀᴅᴇʀ 03.01.2013 / 17:58

3 respostas

2

Se você definir um arquivo executável de script:

chmod o+x alpha.sh

E inclua o shebang apropriado ( #!/bin/bash ) no topo, você não precisa chamá-lo com bash . Veja man chmod para uma explicação de o+x ; você pode preferir a+x .

Quanto ao caminho, você pode adicionar isso de acordo com a sugestão de Rahul, ou você pode fazer algo similar sem adicioná-lo ao seu $ PATH, por exemplo:

export SCRIPTS=~/Desktop/unix

Agora qualquer coisa executável pode ser usada:

$SCRIPTS/alpha.sh
    
por 03.01.2013 / 18:33
2

Você pode definir PATH no seu sistema Ambiente por exemplo.

export PATH=$PATH:/absolute/path/Desktop/unix

você também pode colocar a linha acima no arquivo ~/bashrc , então você não precisa definir esse caminho novamente

Nota: - Seu script deve ser executável nesse local, então você pode executar seu script a partir de qualquer diretório.

Consulte esta página para mais informações

    
por 03.01.2013 / 18:11
1

Uma resposta com uma perspectiva diferente pode ajudar na melhor compreensão do ambiente * nix.

Todos os comandos / utilitários que você conhece no * nux estão presentes em alguns ou em outros diretórios que você pode encontrar usando o comando whereis ou which

Exemplo

$ which ls
/bin/ls
$ which sort
/usr/bin/sort

Então, como eles são localizados e você tenta executar o comando?

A resposta é a variável PATH . Se você fizer um echo $PATH , verá uma lista de diretórios separada por : .

Saída de amostra para $ PATH

/home/mtk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.9.1/bin/:/usr/local/ant/apache-ant-1.8.3/bin

Se você colocar seu próprio executável em um desses locais, poderá executá-lo como outros comandos do sistema. Ou, você pode adicionar seu próprio diretório definido a essa lista, anexando-o à variável PATH e exportando-a, para que ela fique disponível para o shell completo, como

export PATH=$PATH:/home/mtk/myUtilities/bin

Você pode querer adicionar esta linha em particular ao arquivo .bashrc , para que você não precise executar o comando acima toda vez que iniciar o shell.

Apenas por diversão

Ty alterando a variável PATH , tornando-a vazia, você terminará com shell inútil, até que você reconfigure o PATH corretamente novamente.

$ export PATH=""
$ ls
bash: ls: No such file or directory
$ which pwd
bash: which: No such file or directory
    
por 03.01.2013 / 20:15

Tags