加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 美丽引用的命令

发布时间:2020-12-15 22:57:34 所属栏目:安全 来源:网络整理
导读:有时我需要引用整个命令行以供将来评估.通常我这样做: printf "%q " "$@" 这很短而且很甜,但输出看起来很糟糕.大多数时候这无关紧要,但有时我想向用户展示.例如,在执行命令的历史菜单中,允许重新执行条目.在这种情况下,我想以更易读的形式引用(更接近用户本
有时我需要引用整个命令行以供将来评估.通常我这样做:

printf "%q " "$@"

这很短而且很甜,但输出看起来很糟糕.大多数时候这无关紧要,但有时我想向用户展示.例如,在执行命令的历史菜单中,允许重新执行条目.在这种情况下,我想以更易读的形式引用(更接近用户本身如果他负责引用的话).所以这:

search 'Wordreference (eng->spa)' utter

会比这更好:

search Wordreference (eng-&;spa) utter

为了获得第一个引用的表单,我可以迭代“$@”并为每个参数执行类似的操作:

[[ $arg == * * ]] && arg="'"${arg//'/'''}"'"

这根本不难,但它涉及循环,条件字符串转换和每次迭代结果的连接.

我想知道是否有更多的“电池包含”命令来开箱即用这种转换.

解决方法

以同样的方式使用eval以后执行字符串,您可以使用eval打印它:

eval "echo $yourstring"

这将删除shell转义但保持变量完整.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读