meu usuário ~ / bin pasta não está funcionando

3

Estou correndo 12.04

Eu tenho dois arquivos

/usr/bin/uim-tomoe-gtk  
~/bin/uim-tomoe-gtk

o primeiro é o programa tomoe kanji
o segundo é um script que executa o kanjipad

#!/bin/bash
exec kanjipad $@
exit 0

Espero agora poder digitar uim-tomoe-gtk no terminal e fazer com que meu aplicativo kanjipad seja inicializado. Mas o programa uim-tomoe-gtk surge em seu lugar.

O que estou fazendo errado ou quais informações eu preciso fornecer?

    
por Joshua Robison 22.04.2013 / 02:42

2 respostas

5

Existem duas coisas que você precisa fazer.

Em primeiro lugar, o shell não obterá o ~ / bin / in $ PATH quando você fizer o login se ele não existir. Você terá que sair e fazer login novamente após criar o diretório ou iniciar um novo shell de login com:

/bin/bash -l

ou adicione ~ / bin ao seu caminho manualmente com:

export PATH=/home/user/bin:$PATH

Em segundo lugar, o shell mantém um cache de onde os programas estão localizados. Se você criar um script em ~ / bin / (ou / usr / local /) que faça sombra em algo em / usr /, você deverá atualizar manualmente o cache. Você pode limpá-lo completamente com este comando que deve fazer o truque:

hash -r
    
por Alistair Buxton 22.04.2013 / 02:54
1

O problema é provavelmente que /usr/bin está à frente de ~/bin em seu PATH ou ~/bin não está em seu PATH.

Para corrigir, coloque esta linha no final do seu arquivo .bash_profile:

export PATH=~/bin:$PATH

Esteja avisado, porém, que isso fará o mesmo com outros scripts em sua pasta ~ / bin. Por exemplo, se você tiver /usr/bin/example_command e ~/bin/example_command , o comando em seu diretório inicial terá precedência.

Honestamente, gostaria de renomear o script.

    
por strugee 22.04.2013 / 02:53