1 #### _status
2
3 shopt --unset errexit {
4
5 ( exit 3 )
6 echo status=$_status
7
8 ( exit 4 )
9
10 var st = $_status
11 echo st=$st
12 }
13
14 ## STDOUT:
15 status=3
16 st=4
17 ## END
18
19 #### _this_dir in main and oshrc
20
21 $SH $REPO_ROOT/spec/testdata/module/this_dir.oil
22
23 echo interactive
24
25 $SH -i --rcfile $REPO_ROOT/spec/testdata/module/this_dir.oil -c 'echo -c'
26
27 ## STDOUT:
28 hi from this_dir.oil
29 $_this_dir = REPLACED/oil/spec/testdata/module
30 interactive
31 hi from this_dir.oil
32 $_this_dir = REPLACED/oil/spec/testdata/module
33 -c
34 ## END
35
36 #### _this_dir not set on stdin
37
38 echo ${_this_dir:-'not yet'}
39 ## STDOUT:
40 not yet
41 ## END
42
43
44 #### _this_dir in sourced module
45 source $REPO_ROOT/spec/testdata/module/this_dir.oil
46 ## STDOUT:
47 hi from this_dir.oil
48 $_this_dir = REPLACED/oil/spec/testdata/module
49 ## END
50
51
52 #### _this_dir not affected by 'cd'
53 cd /tmp
54 source $REPO_ROOT/spec/testdata/module/this_dir.oil
55 ## STDOUT:
56 hi from this_dir.oil
57 $_this_dir = REPLACED/oil/spec/testdata/module
58 ## END
59
60 #### _this_dir used with relative path
61 cd $REPO_ROOT
62 source spec/testdata/module/this_dir.oil
63 ## STDOUT:
64 hi from this_dir.oil
65 $_this_dir = REPLACED/oil/spec/testdata/module
66 ## END