【发布时间】:2016-10-04 22:31:08
【问题描述】:
如何在 Bash 中根据分隔符拆分字符串?
我将字符串存储在一个变量中,如下所示:
DATA="111111-777777-Hello"
现在我想在- 分隔符上拆分上面的字符串,并将两个数字存储在两个不同的变量中。
NUMBER1="111111"
NUMBER2="777777"
如果 NUMBER1 和 NUMBER2 是空字符串而不是数字,则以非零状态码退出脚本。
【问题讨论】:
-
在 shell 中为自己的变量使用全大写名称是不好的形式。请参阅pubs.opengroup.org/onlinepubs/009695399/basedefs/…——全大写名称用于对操作系统和 shell 本身有意义的环境变量(设置具有相同名称的 shell 变量将覆盖同名环境变量,即使没有任何尝试
export它)。避开该命名空间可防止意外覆盖重要的内容。 -
顺便说一句,既然你有这个标记的 bash,我给出了一个适用于 bash 的答案——如果你想要一些可以与
#!/bin/shshebang 一起使用的东西,或者以sh yourscript而不是 @987654328 运行时@,那就不一样了。 -
感谢您对所有大写名称的建议。会调查的。是的 bash 是我需要的。