从字符串中移除引号

Fish Shell:
从字符串中移除引号

如何操作:

Fish 内置了这类任务的魔法。使用 string 函数,轻松完成。来看这些咒语:

# 单引号示例
set quoted "'你好,世界!'"
set unquoted (string trim --chars \"\'\" $quoted)
echo $unquoted # 输出:你好,世界!

# 双引号情况也一样
set double_quoted "\"你好,宇宙!\""
set unquoted (string trim --chars \"\'\" $double_quoted)
echo $unquoted # 输出:你好,宇宙!

深入探讨

回到命令行的石器时代,你得用 sedawk 来剥离引号;一大串反斜杠和神秘的标志,真是让人头疼。Fish 的 string 函数来自一个更新的时代,让代码更干净、更直观。

其他 shell 的替代方法可能仍依赖于这些旧工具,或者可能使用它们自己的内置方法,如 bash 的参数扩展或 zsh 的修饰符。

string 函数不仅限于修剪引号。它是 Fish 中用于字符串操作的瑞士军刀。使用 string,你可以在终端里对字符串进行切片、切块、分割、连接,甚至是正则表达式匹配。

参见

深入了解 string,可以参考官方文档:

对于怀旧或使用更传统 shell 脚本编写,可以查看: