Isso tem me incomodado há muito tempo e estou realmente cansado disso. Por exemplo, existe um script chamado testscript que compara dois diretórios. Na aula o professor pode apenas digitar
testscript dir1 dir2
para obter a saída, mas preciso adicionar ./ antes do testscript e pressionar Enter. Em seguida, insira dir1 e dir2 na próxima linha
Como o prof fez isso? É algo com o bashrc? Eu nunca entendo como isso funciona. Se estiver relacionado, explique em linguagem simples e simples, já que sou novo no Linux. Obrigado!
Responder1
Você precisa adicionar o diretório com seu script à PATH
variável:
export PATH="$PATH:/path/to/dir"
ou você pode até adicionaratualdiretório para PATH
:
export PATH="$PATH:."
O último tem algunsdesvantagem de segurançano entanto.
Responder2
Outra maneira de fazer isso é adicionar um alias ao seu arquivo bashrc:
vim ~/.bashrc
Esta é a aparência do meu arquivo bashrc:
# .bashrc
alias coredb='psql -h 172.x.x.x -U jboss jbossdb'
alias psql='psql -h 172.x.x.x -U rkah portal_db'
alias opendb='psql -h 172.x.x.x -U rkah portal_db'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
alias menu='bash ./menuScript.sh'
alias vi='vim'
Se você olhar onde diz alias, é exatamente assim que você pode adicioná-lo. Então, por exemplo, você inseriria:
alias testscript='bash ./testscript.sh'
Responder3
Você deve colocar a seguinte linha no final do seu .bashrc
arquivo:
PATH=$PATH:.
Para fazer isso você pode digitar este comando:
echo "PATH=$PATH:." >> ~/.bashrc
Você deve então iniciar um novo shell para que funcione
Responder4
Outra alternativa que você pode considerar é coletar esses scripts e programas executáveis especiais em um diretório e colocá-los na instrução PATH. Assim você não teria que usar o temido '.' (ponto) na variável PATH, mas ainda assim faria o que você queria.