Mam kilka skryptów Pythona na / usr / share / scripts /, których często używam, i chcę mieć możliwość ich wykonania po prostu wpisując nazwę, a nie pełną ścieżkę, jak mogę to zrobić?
echo $ PATH pokazuje mi:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer
Próbowałem więc pisać na terminalu:
PATH="/usr/share/scripts/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/real/RealPlayer"
export
Nie pokazano błędów, a echo $ PATH pokazuje teraz moją nową ścieżkę skryptów, ale kiedy uruchamiam skryptNazwa, nie otrzymuję polecenia.
Co ja robię źle?
Odpowiedzi:
Ustaw uprawnienia do wykonywania skryptów pythonowych przez „chmod + x *”
Teraz masz dwie opcje:
/usr/local/bin
katalogu.Przykład:
[mzed@node02 test]$ vim printme.py
Zawartość pliku:
-
Mam nadzieję, że to Ci pomoże.
źródło
Okej, może jestem tylko starszą szkołą ...
W / usr / bin dodaj skrypty powłoki z nagłówkiem #! / Bin / bash i bez rozszerzenia .sh. Następnie w tych skryptach wystarczy uruchomić absolutepath python.
Dlaczego uważam, że jest lepszy niż inne odpowiedzi:
Nie wymaga przeskakiwania skryptów, aby były one wykonywalne.
Nie wymaga zmiany nazwy skryptów.
źródło
Przepraszamy za sugerowanie podstawowej rzeczy. Czy próbowałeś użyć „scriptname.py”, a nie tylko „scriptname”?
Ponadto wszystkie skrypty muszą mieć uprawnienia do wykonywania (możesz to zrobić, wydając „chmod + x script.py”). Sądząc z powyższego komentarza, ponieważ uruchomiłeś je jak „/ usr / share / scripts / scriptName. py args ”, powinni mieć uprawnienia do wykonywania.
źródło