linux – 如何在POSIX sh字符串中替换“/”
发布时间:2020-05-23 08:42:57 所属栏目:Linux 来源:互联网
导读:要替换bash字符串str中的子字符串,我使用: str=${str/$pattern/$new} 但是,我现在正在编写一个将用灰烬执行的脚本. 我有一个包含’/’的字符串,我想使用上面的语法来替换我的字符串中的’/’,但它不起作用. 我试过了: str=${str///a}str=${str///a}str=${st
|
要替换bash字符串str中的子字符串,我使用: str=${str/$pattern/$new}
但是,我现在正在编写一个将用灰烬执行的脚本. 我有一个包含’/’的字符串,我想使用上面的语法来替换我的字符串中的’/’,但它不起作用. 我试过了: str=${str///a}
str=${str///a}
str=${str/'/'/a}
但它们不起作用 我该如何解决这个问题? 解决方法此参数扩展是POSIX sh的bash扩展.如果您查看 the relevant section of IEEE standard 1003.1,您将看到它不是必需的功能,因此仅承诺POSIX合规性的shell(例如ash)没有义务实现它,并且没有义务将它们的实现提供给任何特定的标准他们无论如何应该这样做是否正确如果你想要bash扩展,你需要使用bash(或其他类似扩展的ksh派生词). 在此期间,您可以使用其他工具.例如: str=$(printf '%s' "$str" | tr '/' 'a') 要么 str=$(printf '%s' "$str" | sed -e 's@/@a@g') (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – KVM / qemu – 直接使用LVM卷而不使用映像文件?
- linux – 将分区组合到一个磁盘映像
- linux – 有没有办法刷新正在运行的进程的stdout
- linux – 托管服务提供商是否可以访问我的专用服务器?
- 在linux shell提示符下设置主机名
- linux – Ulimit文件描述符限制未应用于特定进程
- python – 设置Gtk.ComboBoxText默认项?
- Java可以与System V linux消息队列交互吗?
- c – 从Linux中的应用程序启动网页
- install keepalived on RedHat/CentOS to provide IP failo
