我正在尝试做类似这样的事情。
ruby test.rb | source /dev/stdin
test.rb只是打印出cd /
。没有错误,但也没有任何作用。如果我使用以下命令:
ruby test.rb > /tmp/eraseme2352; source /tmp/eraseme2352
它能正常工作,但我想避免中间文件。
编辑:整个重点在于当命令完成时需要保留更改。抱歉之前没有表述清楚。
source <(echo 'echo a b c')
或者source <(echo 'testvar=TestVal'); echo $testvar
。 - Dennis Williamson