gpt4 book ai didi

c++ - 在后台 C++ 程序/bash 脚本中捕获 linux 命令的输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:07:17 24 4
gpt4 key购买 nike

我想创建将在后台运行的 c++ 程序或 bash 脚本,例如每当我使用所选命令时

pwd 它将捕获该命令的输出,比方说 ~Desktop/folder1 并将该输出更改为 You are in ~Desktop/文件夹 1。因此,结果将是用户在使用命令 pwd 后只会看到 You are in ~Desktop/folder1

Pwd 命令只是示例,我想修改其他命令的输出,如 ls、ps 等。

我希望该脚本在所有终端中都能正常工作,也就是说,如果我打开另一个终端,它仍会捕获该终端中所选命令的输出。

问题:

甚至可以编写可以执行此类操作的 c++ 程序或 bash 脚本吗?

最佳答案

您可以将 shell 函数定义放入您的 bash 环境配置脚本中,这将具有您描述的效果。例如,

~/.bash_profile:

# ...

pwd() {
echo You are in $(command pwd)
}

export -f pwd

注意使用 command 命令来避免 shell 函数 pwd 中的递归。另请注意 export -f 将函数导出到子进程。对于要覆盖的每个命令,您都需要这样的代码段。

根据您的系统和配置,将它们放在 ~/.bashrc 中可能更合适。或者,如果您希望它适用于每个用户,那么您可以将它们放在系统范围的 bash 配置脚本之一中。但是请注意,用户将能够覆盖它。

关于c++ - 在后台 C++ 程序/bash 脚本中捕获 linux 命令的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37258218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com