Wpis z mikrobloga

Próbuję uruchomić venv poprzez skrypt w bashu po stronie serwera. O w taki sposób:

source /usr/home/NazwaKonta/.virtualenvs/NazwaVEnv/bin/activate
Kiedy wklepuje te linkę bezpośrednio w ssh to nie ma problemu, wszystko śmiga i venv się aktywuje. Ale kiedy uruchamiam mój skrypt z tą linią kodu to pojawia się błąd:

Nie ma takiego pliku/katalogu
Ktoś, coś? Nie mam pojęcia dlaczego to nie działa.

#programowanie #bash #serwery #it #webdev
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@karolek-bolek: source bierze komendy z pliku i uruchamia je w obecnym shellu. Uruchamiając skrypt przez sh nazwaskryptu.sh tworzysz nowego shella, który odpali te komendy i się wyłączy, także w twoim nic po nich nie zostanie, a przynajmniej sam tak miałem jak bawiłem się z virtualenv
  • Odpowiedz
I tylko na tym mi zależy. Mam projekt w django i chciałem trochę zautomatyzować proces instalacji nowych paczek, resetu strony itp


@karolek-bolek: A jak wywołasz nie 'sh nazwaskryptu.sh' tylko po prostu './nazwaskryptu.sh' ? Nie wiem czy nie ma u ciebie różnic pomiędzy bash a sh.
  • Odpowiedz
@guziec_z_afryki: Też to nic nie daje. Dalej nie rozwiązałem tego problemu w ten sposób ale wpadłem na inny który działa więc z niego będę korzystać. A mianowicie zdefiniowałem skrypt w plikach które automatycznie się uruchamiają po odpaleniu powłoki. Jakimś rozwiązaniem są jeszcze aliasy ale to pierwsze jest dla mnie wygodniejsze. Link pod którym znalazłem rozwiązanie:

https://stackoverflow.com/a/7020787

Dzięki za pomoc i rady mirki. Może komuś to się przyda. @asciiterror:
  • Odpowiedz