gpt4 book ai didi

linux - 是否可以查看正在运行但已修改的 bash 脚本的原始内容?

转载 作者:太空狗 更新时间:2023-10-29 11:05:01 26 4
gpt4 key购买 nike

假设我在后台运行一个 bash 脚本 run.sh,然后我修改了 run.sh。有没有办法查看run.sh脚本的原始内容?

例如:

echo "echo a1; sleep 120; echo a2" > run.sh; bash run.sh& 
aPid=$!
echo "echo bbbbbb" > run.sh

我期待像 cat {magic file/path} 这样的东西,它会打印出来

echo a1; sleep 120; echo a2

我正在搜索/proc/$aPid ,但找不到任何东西。

最佳答案

bash似乎试图将它当前正在解释的脚本放在文件描述符 255 上,至少在我的系统上,对文件描述符最大值没有任何事件的非默认约束等......这可能无法保证,所以你可能不得不玩有点,但考虑到正在运行的 PID bash /some/script/sh过程,可以看/proc/<PID>/fd/在文件描述符链接中 - 0、1 和 2 当然是预定义的 stdin/stdout/stderr,可能还有其他的取决于你的脚本做什么,但筛选它的内容应该不会太难目录找出哪个文件描述符对应于你的脚本文件,你可以比 cat或其他任何内容(例如 cat /proc/12345/fd/255)以查看原始脚本。

关于linux - 是否可以查看正在运行但已修改的 bash 脚本的原始内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15934362/

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