Você pode adicionar o diretório atual ao seu caminho:
PATH="$PATH:."
Com este diretório atual sempre estará no caminho de pesquisa do shell.
Você pode persistir isso colocando o código acima em .bashrc
ou .bash_profile
Eu tenho 2 VMs. Um é o debian lenny e o outro é o Ubuntu. Existe um script pelo nome "dois" em diferentes pastas do debian (nome "dois" é o mesmo, mas o conteúdo é um pouco diferente em pastas diferentes) e quando eu vou para essa pasta, eu só tenho que digitar dois e entrar para fazer corre. Quando eu copiei o mesmo script para o Ubuntu, mesmo depois de dar permissões de execução, ele ainda não é executado simplesmente digitando dois. Eu tenho que digitar. / Dois para fazer o trabalho. Existe alguma maneira que eu possa digitar dois em suas respectivas pastas e os scripts serão executados sem ./?
Você tem que adicionar o diretório / programa em seu caminho .
Um caminho definido em .bash_profile será definido apenas em um shell de login do bash ( bash -l
). Se você colocar seu caminho em .profile
, ele estará disponível para sua sessão completa de desktop. Isso significa que até mesmo a metacity irá usá-lo.
Por exemplo, ~/.profile
:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Btw, você pode verificar a variável PATH de um processo observando seu ambiente em /proc/[pid]/environ
. (substitua [pid] pelo número de ps axf
)
Em vez de adicionar. Para o PATH, talvez seja melhor adicionar o diretório onde "dois" reside. Por exemplo, se dois são realmente / usr / local / bin / two, então você diria
PATH = $ PATH: / usr / local / bin
E se você tiver muitos programas diferentes como dois, então você pode querer colocá-los todos em um diretório comum, em vez de ter que adicionar um novo diretório ao caminho de cada um.