2017-09-18 3 views
0
//init.sh 

#!/usr/bin/env bash 

export PATH="${HOME}/.pyenv/scripts:$PATH" 
eval "$(pyenv init -)" 
eval "$(pyenv virtualenv-init -)" 

pyenv shell ammt-crawler 

Ich möchte laufen init.sh Datei in Linux-Befehlszeile auszuführen
Und stellen Sie sicher pyenv Shell AMMT-Raupenlinie ausgeführt wird.wie sh-Datei in Linux-Befehlszeile

aber wenn ich einfach ./init.sh nichts passiert.
gibt es warum, um die init.sh-Datei in Linux auszuführen?

(ps), wenn Sie was für den Export mir erklären, bitte können, eval Innere dieser init.sh bedeuten

+3

die Shell-Knall Linie '#/usr/bin/env bash ' muss erste Zeile der Skriptdatei sein!. – richselian

Antwort

0

versuchen, Berechtigungen hinzufügen, um das Skript auszuführen:

chmod +x unit.sh 

und versuchen Sie, es wieder.

0

Kommentare in bash beginnen mit , nicht //. Außerdem muss der Shebang (#!/usr/bin/env bash) in der ersten Zeile der Datei sein, um einen Effekt zu haben. So sollte das Skript sein:

#!/usr/bin/env bash 

# init.sh 

export PATH="${HOME}/.pyenv/scripts:$PATH" 
eval "$(pyenv init -)" 
eval "$(pyenv virtualenv-init -)" 

pyenv shell ammt-crawler 

Auch, wenn Sie in der Lage sein wollen, um sie auszuführen mit nur ./init.sh, muss es ausführbar sein. Führen Sie diesen Befehl ausführbar zu machen:

chmod +x init.sh