Pytania oznaczone «variable-substitution»

25
Co oznacza $ {PATH: +: $ {PATH}}?

Niedawno zauważyłem w moim profilu cygwin, a dokładniej: /usr/local/bin:/usr/bin${PATH:+:${PATH}} Co to znaczy? Dlaczego nie jest tylko ŚCIEŻKA $? Czy to jest „jeśli $ PATH istnieje, to dodaj: $ PATH”? Moim celem jest zamiana kolejności i umieszczenie ścieżek cygwin za ścieżką systemu Windows. W...

23
Podwójne i potrójne podstawienie w bash i zsh

Kontynuacja części podstawowej tego pytania . W bashmogę użyć ${!FOO}do podwójnej zamiany, w zsh ${(P)FOO}. W obu działa stara szkoła (hack-y) eval \$$FOO. Najmądrzejszą i najbardziej logiczną rzeczą byłoby dla mnie ${${FOO}}, ${${${FOO}}}…zastąpienie podwójnym / potrójnym / n. Dlaczego to nie...

17
Jak uniknąć spacji po zmiennej bash w ciągu?

Mam zmienną koloru. Używam go do ustawiania koloru łańcuchów, oceniając je wewnątrz łańcucha. Jednak muszę podać spację po nazwie (aby nazwa nie zawierała części tekstu). To czasami wygląda źle. Jak mogę uniknąć używania (drukowania) tego miejsca? Przykład (powiedzmy to Red=1i NC=2): echo -e...

13
$ {! FOO} i zsh

${!FOO}wykonuje podwójne podstawienie w bash, co oznacza, że ​​pobiera wartość (ciąg) FOO i używa jej jako nazwy zmiennej. zshnie obsługuje tej funkcji. Czy istnieje sposób, aby to działało tak samo w bashi zsh? Tło: Mam listę zmiennych środowiskowych, takich jak PATH MAIL EDITOR i chcą...

12
Dereferencja połączona nazwa zmiennej

Mogę to zrobić, ale wymaga to utworzenia ciągu zmiennej, a następnie wyrejestrowania go. Czy jest jakiś sposób, aby skrócić to do prostszego stwierdzenia? #!/bin/bash FRUITS="BANANA APPLE ORANGE" BANANA_COLOUR="Yellow" APPLE_COLOUR="Green or Red" ORANGE_COLOUR="Blue" for fruit in $( echo...