script de shell personalizado não pode ser executado

0

Eu escrevi um script de shell, mostro o script

myscript.sh

#!/bin/bash
ssh -t proxy@PROXY -p 22022 "ssh me@REMOATE_MACHINE -p 22022"

Eu coloquei o script em /opt/scripts/myscript.sh e chmod u+x myscript.sh . Depois disso, adicionei export PATH=$PATH:/opt/scripts/myscript.sh em .bashrc .

E, em seguida, source .bashrc , mas quando digito myscript.sh , o terminal retornou myscript.sh: command not found

e echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/opt/scripts/myscript.sh:/usr/lib/jvm/java-8-oracle/bin:/bin:/bin:/opt/hadoop-2.6.4/bin:/opt/hadoop-2.6.4/sbin:/opt/hive-2.0.0-bin/bin

/opt/scripts/myscript.sh está no PATH

Como devo resolver o problema?

    
por GoingMyWay 26.07.2016 / 03:09

2 respostas

1

Você não deve adicionar o próprio script a $PATH . Em vez disso, você deve adicionar o diretório que contém o script a $PATH :

export PATH=$PATH:/opt/scripts
    
por edwinksl 26.07.2016 / 03:12
1

Não deve ser /opt/scripts/myscript.sh . Deve ser /opt/scripts . Ele está tratando /opt/scripts/myscript.sh como um diretório e usando todos os arquivos nele, não em si. Isso pode ser conseguido pelos seguintes comandos;

PATH=$PATH:/opt/scripts
export PATH
    
por ubashu 26.07.2016 / 03:15