Próbuję napisać prosty skrypt, który uruchamia terminal i uruchamia polecenie workon foo
. Innymi słowy, chcę po prostu zrobić:
mate-terminal -e workon foo
Jednak to nie działa, ponieważ workon
polecenie wymaga ode mnie:
export WORKON_HOME=~/work;
source /usr/local/bin/virtualenvwrapper.sh
Normalnie te linie są uruchamiane automatycznie, ponieważ są w moim .bashrc
, ale najwyraźniej mate-terminal -e
nie robi source ~/.bashrc
. Jeśli jednak spróbuję dodać te wiersze do mojego skryptu:
mate-terminal -e export WORKON_HOME=~/work; source /usr/local/bin/virtualenvwrapper.sh; workon foo
to też nie działa. MATE mówi mi:
There was an error creating the child process for this terminal
Failed to execute child process "export" (No such file or directory)
Mam ten sam problem, jeśli pomiń export
i po prostu zrób mate-terminal -e source ...
lub jeśli spróbuję użyć .
zamiast source
( mate-terminal -e . ...
).
Nie jestem pewien, w jaki sposób można załadować wszystko, jeśli nie mogę, export
, source
, lub .
, ale musi być jakiś sposób, ponieważ mate-terminal -e
byłoby niemal bezużyteczna bez niego.
Czy ktoś wie, jak mogę skonfigurować swoje środowisko w terminalu, od którego zacząłem mate-terminal -e
?
Failed to parse arguments: Unknown option -c
. Potem wypróbowałem drugą wersję, która działała świetnie ... przez około 1ms; potem terminal został zamknięty (prawdopodobnie dlatego, że polecenie zostało zakończone). Więc wtedy wypróbowałem formularz skryptu i próbowałem wykonać go w obie strony, tak jak sugerowałeś, ale miał ten sam problem (tj. Terminal został natychmiast zamknięty). Jeśli masz jakieś sugestie, jak mogę rozwiązać problem z zamykaniem terminala, chętnie zaakceptuję tę odpowiedź.