|
|
|
|
|
by chubot
1674 days ago
|
|
BTW you can make it work in bash by setting shopt -s lastpipe. It runs the last part of the pipeline in the main shell, so the mutation variables of will persist. Both OSH and zsh behave that way by default, which was tangential to a point in the latest release notes https://news.ycombinator.com/item?id=29292187 Another trick I've seen in POSIX shell is to add a subshell after the pipeline until the last time you want to read the variable. Like cat foo.txt | ( while read line; do
f=$line
done
echo "we're still in the subshell f=$f"
)
|
|