| Line | |
|---|
| 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 |
|
|---|
| 7 | HOME=/usr/xyz
|
|---|
| 8 | SHELL=~/bash
|
|---|
| 9 | echo ~ch\et
|
|---|
| 10 | echo ~/"foo"
|
|---|
| 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"
|
|---|
| 19 | echo $SHELL
|
|---|
| 20 | echo abcd:~chet
|
|---|
| 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"
|
|---|
| 42 | declare -x PPATH=$XPATH:~/bin
|
|---|
| 43 | echo "$PPATH"
|
|---|
| 44 |
|
|---|
| 45 | # no tilde expansion
|
|---|
| 46 | export PPATH="$XPATH:~/bin"
|
|---|
| 47 | echo "$PPATH"
|
|---|
| 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
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.