Simply try the following script: -------------- #!/bin/ksh typeset a=1 function x { a=7 } echo "a) $a" x | read line echo "b) $a" x echo "c) $a" -------------- The result is a) 1 b) 1 c) 7 while I expected a) 1 b) 7 c) 7 Also according to the manual page of the ksh: Compound commands are created using the following reserved words -- these words are only recognized if they are unquoted and if they are used as the first word of a com- mand (i.e., they can't be preceded by parameter assign- ments or redirections): case else function then ! do esac if time [[ done fi in until { elif for select while } Note: Some shells (but not this one) execute control structure commands in a subshell when one or more of their file descriptors are redirected, so any environment changes inside them may fail. To be portable, the exec statement should be used instead to redirect file descrip- tors before the control structure.
*** This bug has been marked as a duplicate of 8894 ***
Commit pushed to master at https://github.com/openshift/origin https://github.com/openshift/origin/commit/b1f47bfa11c1d9d7bfd20c787f181b3a9b57ca83 Merge pull request #20412 from soltysh/issue20097 Restore -v in set deploymenthook and status