Eu sou (de alguma forma) capaz de executar um script:
$ assemble.sh file
... [output]
Mas which
não consegue encontrar:
$ which assemble.sh
which: no assemble.sh in (/s/std/bin:/usr/afsws/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/ucb:/bin:/usr/bin:/usr/stat/bin:/usr/X11R6/bin:.
- Como isso é possível?
- Como posso encontrar onde está esse arquivo?
Estou usando o bash.
assemble.sh
no seu diretório atual?alias
?Respostas:
Use este comando:
type assemble.sh
Ele funciona em uma variedade de conchas e mostra apenas o primeiro resultado.
fonte
type assemble.sh
, que é portátil (e mostra apenas a primeira correspondência, enquantotype -a
é uma construção ksh / bash para mostrar todas as correspondências).Ou divida o caminho e use-o no localizador - a primeira correspondência deve ser a solução
type
é claro que é mais fácil.fonte
find
Você pode estar usando o bash, mas a sintaxe da
which
saída mostra que você usa o antigowhich
escrito em csh. O PATH aparece entre parênteses, e os diretórios no PATH têm entradas como/opt/SUNWspro/bin
e/usr/ccs/bin
que só fazem sentido no Solaris. Isso é consistente: o Solaris usou o cshwhich
.Aqui está o meu palpite: você tem um PATH para o bash e outro para o csh. Isso pode ser um problema do sistema. Pelo que me lembro, o Solaris mantém os arquivos / etc / profile e / etc / cshrc para a configuração de PATH em todo o sistema. Esses dois arquivos de inicialização podem definir variáveis PATH diferentes para diferentes shells. Faça "echo $ PATH" em bash e verifique se ele concorda com o que o
which
comando imprime como uma sequência PATH.fonte
Info
fonte
ASSEMBLE=$(PATH=/usr/bin:/usr/local/opt/coreutils/libexec/gnubin command -v assemble.sh)
Você pode usar
locate assemble.sh
para encontrar o local do arquivo.fonte
assemble.sh
, o que é irrelevante aqui.locate
, também lhe daria a localização do que ele deseja.assemble.sh
não é um nome de arquivo tão comum, então ele provavelmente encontrará o arquivo facilmente (que é o que o OP solicita).updatedb
antes delocate
mostrar resultados?updatedb
é executado diariamente como um trabalho cron, mas sim, talvez seja necessário forçá-lo se o arquivo for muito recente.