看以下两条命令:
[zhangsan@XEN /sys]$ a=\"ls\";b=\"\\$a\";c=\"$b\";\"$c\"
Hey! No command \'$a\' found, did you mean \'ia\'?
[zhangsan@XEN /sys]$ a=\"ls\";b=\"\\$a\";c=\"$b\";eval \"$c\"
block bus class dev devices firmware fs kernel module power
eval命令的作用是再次扫描解释,可多次叠加,如:
[zhangsan@XEN /sys]$ a=\"ls\";b=\"\\$a\";c=\"\\$b\";eval \"$c\"
Hey! No command \'$a\' found, did you mean \'ia\'?
[zhangsan@XEN /sys]$ a=\"ls\";b=\"\\$a\";c=\"\\$b\";eval eval \"$c\"
block bus class dev devices firmware fs kernel module power
附: 关闭文件描述符函数,并导出该函数给子进程使用
close_all_fd()
{
# 0, 1, 2, 255
# compgen -G \"/proc/$BASHPID/fd/*
for fd in $(ls /proc/$$/fd); do
if test $fd -gt 2; then
# 关闭文件描述符fd
eval \"exec $fd>&-\"
fi
done
}
# 导出close_all_fd
export -f close_all_fd
实际应用,可参见:https://github.com/eyjian/libmooon/blob/master/shell/process_monitor.sh。
继续阅读与本文标签相同的文章
全国10米DEM数字高程数据
-
工程院院士刘韵洁:5G前景很大,但主要是行业应用
2026-05-14栏目: 教程
-
陆奇:看好5G技术,但应用好5G还需要时间
2026-05-14栏目: 教程
-
在Visual Studio中使用clang-tidy进行代码分析
2026-05-14栏目: 教程
-
甘薇贾跃亭曝出离婚消息,贾跃亭破产前转账51万美元,作为“家庭费用”
2026-05-14栏目: 教程
-
指静脉识别黑科技加身,6.9秒破百,体验纯电动轿跑零跑S01
2026-05-14栏目: 教程
