我只是挑战自己使用以下方法查找并更改内存中的值扫描内存并编写了此脚本,每5秒增加一个简单的值。
#!/bin/bash
i=88 #start counting from..
printf "Variable increments every 5s\n"
while [ 1 ]
do
printf "Variable is %d\n" $i
sleep 5s
if [ $i -eq 300 ]; then
printf "Variable is now 300! WELL DONE!!\n"
exit 1
else
i=$(( $i + 1))
if [ $i -gt 299 ]; then
printf "Time is up!\n"
exit 0
fi
fi
done
除了糟糕的脚本(我敢打赌这给我带来了麻烦!);我可以在 2 次扫描中找到值(总是 4 个结果)扫描内存附在PID上(来自ps ax | grep bash) 但变量拒绝设置为 300。我使用 UPDATE 和 LIST 确认它们是正确的。它实际上会设置但总是返回到下一个增量。
那么为什么该值拒绝更改?脚本以用户身份运行,scanmem 被 sudo 了