shell - 如何获取错误输出并将其存储在变量或文件中

标签 shell unix permissions

我在弄清楚如何获取错误输出并将其存储在 ksh 中的变量或文件中时遇到了一些麻烦。所以在我的脚本中,我有 cp -p source.file destination里面while环形。

当我收到以下错误时

cp: source.file: The file access permissions do not allow the specified action.

我想捕获它并将其存储在变量或文件中。

谢谢

最佳答案

您可以像这样重定向命令的错误输出:

cp -p source.file destination 2>> my_log.txt

它将错误消息附加到 my_log.txt 文件中。

如果您想要一个变量,您可以将 stderr 重定向到 stdout 并将命令输出分配给一个变量:
my_error_var=$(cp -p source.file destination 2>&1)

关于shell - 如何获取错误输出并将其存储在变量或文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10937953/

相关文章:

macos - Xcode 扩展 + Mac 助手应用程序 + 启动参数?

shell - 无法将 shell 命令的输出写入 Go 中的文件

linux - 有条件地删除 shell 脚本中的新行

shell - 旋转文本文件

Unix cut,删除第一个标记

java - 已截取屏幕截图,但未授予权限?

java - 通过 "source"Java 代码的 shell 脚本设置和获取环境变量

c - GNU getopt() 的 -W 选项有什么用?

linux - 在 Makefile 命令后检查日志的最佳方法

ios - 如何以编程方式检测 ios 推送通知权限/设置