Próbuję dodać ścieżkę do końca mojej zmiennej środowiskowej PERL5LIB
, ale nie jestem pewien, czy ta zmienna zawsze istnieje. Jeśli nie istnieje, chciałbym po prostu zainicjować go na wartość, którą próbuję dołączyć.Prosty sposób dołączania do zmiennej środowiskowej, która może jeszcze nie istnieć csh
Oto przykład, który działa:
if ($?PERL5LIB) then
setenv PERL5LIB ${PERL5LIB}:/some/other/path
else
setenv PERL5LIB /some/other/path
endif
Chociaż to działa, to nadal wydaje się dość niezgrabne ponieważ muszę napisać w zasadzie tę samą linię dwukrotnie. Chciałbym wymyślić bardziej wydajne rozwiązanie z jedną linią (ewentualnie z wykorzystaniem rozszerzenia parametrów).
Czy istnieje sposób konsolidacji tego do jednej linii? (Lub kilka linii, które nie dotyczą wypisywanie „/ niektóre/inne/ścieżka” wielokrotnie)
Na przykład może to być zrobione w bash:
export PERL5LIB=${PERL5LIB:+${PERL5LIB}:}/some/other/path
P.S mogę zobaczyć edytować wersje, aby zobaczyć ostatnią zmianę ukradł moją odpowiedź! –
Brakujący znak zapytania był literówką. Kod w pytaniu nie działa w ogóle bez znaku zapytania, ale nie zdawałem sobie sprawy, że go opuściłem, dopóki nie napisałem własnej odpowiedzi. – tjwrona1992