]>
Commit | Line | Data |
---|---|---|
d166f048 JA |
1 | # this is needed because posix mode restricts tilde expansion to assignment |
2 | # statements preceding a command, instead of the default of expanding all | |
3 | # assignment statements on the line (e.g., after `export'). Without this, | |
4 | # the next-to-last test fails | |
5 | set +o posix | |
6 | ||
726f6388 | 7 | HOME=/usr/xyz |
ccc6cda3 | 8 | SHELL=~/bash |
726f6388 | 9 | echo ~ch\et |
ccc6cda3 | 10 | echo ~/"foo" |
726f6388 JA |
11 | echo "~chet"/"foo" |
12 | echo \~chet/"foo" | |
13 | echo \~chet/bar | |
14 | echo ~\chet/bar | |
15 | echo ~chet""/bar | |
16 | echo ":~chet/" | |
17 | echo abcd~chet | |
18 | echo "SHELL=~/bash" | |
ccc6cda3 | 19 | echo $SHELL |
726f6388 | 20 | echo abcd:~chet |
ccc6cda3 JA |
21 | path=/usr/ucb:/bin:~/bin:~/tmp/bin:/usr/bin |
22 | echo $path | |
23 | ||
24 | cd /usr | |
25 | cd /tmp | |
26 | echo ~- | |
27 | echo ~+ | |
28 | ||
29 | XPATH=/bin:/usr/bin:. | |
30 | ||
31 | # yes tilde expansion | |
32 | PPATH=$XPATH:~/bin | |
33 | echo "$PPATH" | |
34 | ||
35 | # no tilde expansion | |
36 | PPATH="$XPATH:~/bin" | |
37 | echo "$PPATH" | |
38 | ||
39 | # yes tilde expansion | |
40 | export PPATH=$XPATH:~/bin | |
41 | echo "$PPATH" | |
d166f048 JA |
42 | declare -x PPATH=$XPATH:~/bin |
43 | echo "$PPATH" | |
ccc6cda3 JA |
44 | |
45 | # no tilde expansion | |
46 | export PPATH="$XPATH:~/bin" | |
47 | echo "$PPATH" | |
d166f048 JA |
48 | declare -x PPATH="$XPATH:~/bin" |
49 | echo "$PPATH" | |
50 | ||
51 | # more tests of tilde expansion when executing case commands | |
52 | case ~ in | |
53 | $HOME) echo ok 1;; | |
54 | *) echo bad 1 ;; | |
55 | esac | |
56 | ||
57 | case ~ in | |
58 | ~) echo ok 2 ;; | |
59 | \~) echo bad 2a ;; | |
60 | *) echo bad 2b ;; | |
61 | esac | |
62 | ||
63 | case $unset in | |
64 | "") echo ok 3 ;; | |
65 | *) echo bad 3 ;; | |
66 | esac | |
0628567a JA |
67 | |
68 | USER=root # should exist just about everywhere | |
69 | echo ~$USER |