gpt4 book ai didi

bash - 漂亮引用的命令

转载 作者:行者123 更新时间:2023-11-29 09:01:01 27 4
gpt4 key购买 nike

有时我需要引用整个命令行以供将来评估。通常我这样做:

printf "%q " "$@"

这很简短,但输出看起来很糟糕。大多数时候这无关紧要,但在某些情况下我想向用户展示它。例如,在允许重新执行条目的已执行命令历史记录菜单中。既然如此,我想以更具可读性的形式引用(更接近于用户自己负责引用时会做的事情)。所以这个:

search 'Wordreference (eng->spa)' utter

比这个更可取:

search Wordreference\ \(eng-\>spa\) utter

为了获得第一个引用形式,我可以迭代 "$@" 并对每个参数执行如下操作:

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

这一点都不难,但它涉及循环、条件字符串转换和每次迭代结果的连接。

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

最佳答案

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

eval "echo $yourstring"

这将删除 shell 转义但保持您的变量不变。

关于bash - 漂亮引用的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21167065/

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