LittleGreenCat zrewidował ten Gist . Przejdź do rewizji
1 file changed, 62 insertions
bash.md(stworzono plik)
@@ -0,0 +1,62 @@ | |||
1 | + | Частенько требуется в bash скрипте указать значение переменной по умолчанию, например если не задано прямо.. Однако не все так просто... | |
2 | + | Краткий списочек с описанием логики. | |
3 | + | ||
4 | + | ```bash | |
5 | + | # bash one liner | |
6 | + | # -------------- | |
7 | + | ||
8 | + | x="foo" && echo "${x:-bar} (x = $x)" | |
9 | + | # foo (x = foo) | |
10 | + | ||
11 | + | x="" && echo "${x:-bar} (x = $x)" | |
12 | + | # bar (x = ) | |
13 | + | ||
14 | + | unset x && echo "${x:-bar} (x = $x)" | |
15 | + | # bar (x = ) | |
16 | + | ||
17 | + | x="foo" && echo "${x-bar} (x = $x)" | |
18 | + | # foo (x = foo) | |
19 | + | ||
20 | + | x="" && echo "${x-bar} (x = $x)" | |
21 | + | # (x = ) | |
22 | + | ||
23 | + | unset x && echo "${x-bar} (x = $x)" | |
24 | + | # bar (x = ) | |
25 | + | ||
26 | + | x="foo" && echo "${x:=bar} (x = $x)" | |
27 | + | # foo (x = foo) | |
28 | + | ||
29 | + | x="" && echo "${x:=bar} (x = $x)" | |
30 | + | # bar (x = bar) | |
31 | + | ||
32 | + | unset x && echo "${x:=bar} (x = $x)" | |
33 | + | # bar (x = bar) | |
34 | + | ||
35 | + | x="foo" && echo "${x=bar} (x = $x)" | |
36 | + | # foo (x = foo) | |
37 | + | ||
38 | + | x="" && echo "${x=bar} (x = $x)" | |
39 | + | # (x = ) | |
40 | + | ||
41 | + | unset x && echo "${x=bar} (x = $x)" | |
42 | + | # bar (x = bar) | |
43 | + | ||
44 | + | x="foo" && echo "(x = $x)" && echo "${x:?error message}" | |
45 | + | # (x = foo) foo | |
46 | + | ||
47 | + | x="" && echo "(x = $x)" && echo "${x:?error message}" | |
48 | + | # (x = ) bash: x: error message | |
49 | + | ||
50 | + | unset x && echo "(x = $x)" && echo "${x:?error message}" | |
51 | + | # (x = ) bash: x: error message | |
52 | + | ||
53 | + | x="foo" && echo "${x:+bar} (x = $x)" | |
54 | + | # bar (x = foo) | |
55 | + | ||
56 | + | x="" && echo "${x:+bar} (x = $x)" | |
57 | + | # (x = ) | |
58 | + | ||
59 | + | unset x && echo "${x:+bar} (x = $x)" | |
60 | + | # (x = ) | |
61 | + | ``` | |
62 | + | Опубликовано в [gitgate](https://t.me/gitgate) |
Nowsze
Starsze