前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >理解shell的eval命令

理解shell的eval命令

作者头像
一见
发布2019-01-02 12:47:38
1.1K0
发布2019-01-02 12:47:38
举报
文章被收录于专栏:蓝天蓝天

看以下两条命令: [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。

window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档