如果参数有效,我想将 wpa_passphrase 的输出附加到文件中,否则将 err 消息留在屏幕上。
我用
wpa_passphrase 1 111 2>&1 >>file
wpa_passphrase 1 111111111 2>&1 >>file
但文件仍然包含消息,而屏幕上没有:
Passphrase must be 8..63 characters
谢谢大家
最佳答案
问题是 wpa_passphrase
将错误写入 stdout,而不是 stderr。此代码应该可以解决问题:
out=$(wpa_passphrase 1 1111111111) && echo "$out" >> file || echo "$out"
仅当前面的命令成功时,代码才会将输出分配给变量并将变量回显到文件,否则会将输出打印到屏幕。
关于bash - 如何将脚本的输出重定向到文件,而不是错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31425156/