You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Also note that `complete` is special, it doesn't work with `e>|`, `o+e>|`.
84
+
85
+
## Stdio and redirection behavior examples
86
+
87
+
Pipeline and redirection behavior can be hard to follow when they are used with subexpression, or custom commands. Here are some examples to show stdio behavior
88
+
89
+
### Examples for subexpression
90
+
91
+
- (^cmd1 | ^cmd2; ^cmd3 | ^cmd4)
92
+
93
+
| Command | Stdout | Stderr |
94
+
| ------- | -------- | ---------- |
95
+
| cmd1 | Piped | Terminal |
96
+
| cmd2 |*Terminal*| Terminal |
97
+
| cmd3 | Piped | Terminal |
98
+
| cmd4 | Terminal | Terminal |
99
+
100
+
- (^cmd1 | ^cmd2; ^cmd3 | ^cmd4) | ^cmd5
101
+
102
+
| Command | Stdout | Stderr |
103
+
| ------- | -------- | ---------- |
104
+
| cmd1 | Piped | Terminal |
105
+
| cmd2 |*Terminal*| Terminal |
106
+
| cmd3 | Piped | Terminal |
107
+
| cmd4 | Piped | Terminal |
108
+
109
+
- (^cmd1 | ^cmd2; ^cmd3 | ^cmd4) e>| ^cmd5
110
+
111
+
| Command | Stdout | Stderr |
112
+
| ------- | -------- | -------- |
113
+
| cmd1 | Piped | Terminal |
114
+
| cmd2 | Terminal | Terminal |
115
+
| cmd3 | Piped | Terminal |
116
+
| cmd4 | Terminal | Piped |
117
+
118
+
- (^cmd1 | ^cmd2; ^cmd3 | ^cmd4) o+e>| ^cmd5
119
+
120
+
| Command | Stdout | Stderr |
121
+
| ------- | -------- | -------- |
122
+
| cmd1 | Piped | Terminal |
123
+
| cmd2 | Terminal | Terminal |
124
+
| cmd3 | Piped | Terminal |
125
+
| cmd4 | Piped | Piped |
126
+
127
+
- (^cmd1 | ^cmd2; ^cmd3 | ^cmd4) o> test.out
128
+
129
+
| Command | Stdout | Stderr |
130
+
| ------- | -------- | -------- |
131
+
| cmd1 | Piped | Terminal |
132
+
| cmd2 | File | Terminal |
133
+
| cmd3 | Piped | Terminal |
134
+
| cmd4 | File | Terminal |
135
+
136
+
- (^cmd1 | ^cmd2; ^cmd3 | ^cmd4) e> test.out
137
+
138
+
| Command | Stdout | Stderr |
139
+
| ------- | -------- | -------- |
140
+
| cmd1 | Piped | File |
141
+
| cmd2 | Terminal | File |
142
+
| cmd3 | Piped | File |
143
+
| cmd4 | Terminal | File |
144
+
145
+
- (^cmd1 | ^cmd2; ^cmd3 | ^cmd4) o+e> test.out
146
+
147
+
| Command | Stdout | Stderr |
148
+
| ------- | -------- | -------- |
149
+
| cmd1 | Piped | File |
150
+
| cmd2 | File | File |
151
+
| cmd3 | Piped | File |
152
+
| cmd4 | File | File |
153
+
154
+
### Examples for custom command
155
+
Given the following custom commands
156
+
157
+
```nushell
158
+
def custom-cmd [] {
159
+
^cmd1 | ^cmd2
160
+
^cmd3 | ^cmd4
161
+
}
162
+
```
163
+
164
+
Here are some examples to show stdio behavior. Actually the stio behavior will be the same to previous session.
165
+
166
+
You can think the body of `custom-cmd` like `(^cmd1 | ^cmd2; ^cmd3 | ^cmd4).
0 commit comments