我想将eval
的输出传递给文件。如果命令执行成功,那将按预期工作:
eval ls > log.txt 2>&1
cat log.txt # Documents Desktop
如果命令不成功,它也可以工作
eval rm Desktop > log.txt 2>&1
cat log.txt # rm: cannot remove 'Desktop': Is a directory
但是,如果该命令不存在,我将无法重定向stderr
eval abcde > log.txt 2>&1 # fish: Unknown command abcde
cat log.txt # (empty)
如何将第三种情况的输出也重定向到日志文件?
与source
兼容的事物也将不胜感激:
echo abcde | source > log.txt 2>&1