首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Mac上使用BASH拆分字符串并将其放入数组时出现问题

,可能是由于Mac上默认使用的是较旧版本的BASH,而较新版本的BASH支持更多的字符串操作功能。为了解决这个问题,可以尝试以下方法:

  1. 使用IFS(Internal Field Separator)来指定字符串的分隔符。默认情况下,IFS的值为" \t\n",即空格、制表符和换行符。可以通过将IFS设置为其他字符来改变分隔符。例如,将IFS设置为逗号来拆分逗号分隔的字符串:
代码语言:txt
复制
IFS=',' read -ra array <<< "$string"

这将把$string字符串按逗号分隔,并将结果存储在名为array的数组中。

  1. 使用较新版本的BASH。可以通过更新Mac上的BASH版本来获得更多的字符串操作功能。可以使用Homebrew等软件包管理器来安装最新版本的BASH。
  2. 使用其他编程语言或工具来处理字符串。除了BASH,还有许多其他编程语言和工具可以更方便地处理字符串。例如,Python具有丰富的字符串操作功能,可以使用Python脚本来处理字符串并将其放入数组。

总结起来,解决在Mac上使用BASH拆分字符串并将其放入数组时出现问题的方法包括使用IFS指定分隔符、更新BASH版本或使用其他编程语言或工具来处理字符串。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Powershell中的变量

Bash shell中,该数据可以是单词(计算机语言中的字符串)或数字(整数)。 也许你以前从未(有意地)计算机上使用过变量,但你可能在生活的另一个领域中使用过变量。...本文介绍Windows,Linux或Mac运行的PowerShell中的变量。...开源Bash Shell的用户可参考我有关Bash Shell中变量的文章(尽管你可以Linux运行PowerShell,并且它是开源的,因此你仍然可以继续阅读本文)。...可以发现它们的用途使用它们,也可以放心地知道它们是由你的操作系统管理的。 但是,知识就是力量,而了解变量Bash中的工作方式可以使你获得各种意想不到的创造性问题解决方案。...PowerShell中,变量具有多种类型,包括字符串,整数和数组。 选择创建一个实质具有多个值的变量,必须确定是否需要用字符分隔的字符串数组

3K00

嘘……这些bash命令鲜为人知,但是非常有用!

read:询问用户的输入 read 命令允许您从用户那里获取输入并将其存储变量中。 #!/usr/bin/env bash echo "What is your name?"...这将等待您(用户)的输入,然后将name变量的值设置为您输入的字符串。 您还可以通过命令中指定-p选项来使上面的示例更紧凑read,这将打印 之后指定的字符串-p,然后要求用户输入: #!...Bash 数组,只要在文件中遇到新行,就会创建每个数组项。...source:将文件中的变量放入 shell 的环境中 假设您有以下虚构文件 ,config.sh具有以下内容: username=wljslmz domain=wljslmz.cn 如果您想获取该文件的内容并将其放入您当前的...这可以通过使用 source 命令非常简单地完成: source config.sh 然后,您可以检查变量是否按预期分配 实际,该source命令实际您当前的 shell 环境中运行指定的文件,因此该文件中键入任何命令实际上会导致它们在运行时被执行

49900

read,source,mapfile命令与shell编程

本教程中,我们将说明如何使用 read,mapfile,source 命令 bash 脚本中的实际应用。我们举例一些常见的例子,希望能对有所帮助。...这将等待用户的输入,然后将name变量的值设置为用户输入的字符串。 例如,如果你在运行上述脚本指定rumenz.com为你的姓名,它将输出Your name is rumenz.com。...mapfile 命令将文件的行转换 Bash 数组 你可以使用mapfile命令读取文件的内容,然后将输出分配给 Bash 数组,只要在文件中遇到换行符,就会创建一个数组元素。...命令将文件中的变量导入 shell 的环境变量中 假设你有以下虚构文件config.sh其内容如下: username=rumenz domain=rumenz.com 如果你想获取该文件的内容并将其放入当前...source命令实际在当前 shell 的环境中运行指定的文件,因此该文件中的任何命令都会被执行. 例如,让我们将以下内容放入config.sh: echo "Hello ${name}!"

66510

微服务架构之Spring Boot(四)

OSX Homebrew安装 如果您使用的是Mac使用Homebrew,则可以使用以下命令安装Spring Boot CLI: $ brew tap pivotal/tap $ brew install...MacPorts安装 如果您使用的是Mac使用MacPorts,则可以使用以下命令安装Spring Boot CLI: $ sudo port install spring-boot-cli 命令行完成...您可以在任何shell中 source 脚本(也称为 spring )或将其放入您的个人或 系统范围的bash完成初始化中。...Debian系统,系统范围的脚本位于 /shell-completion/bash ,并且当新shell启动,该目录中的所有 脚本都将执行。例如,要使用SDKMAN!...Windows Scoop安装 如果您使用的是Windows使用Scoop,则可以使用以下命令安装Spring Boot CLI: > scoop bucket add extras > scoop

28230

Bash脚本编程(原创)

它也被移植到Microsoft Windows的Cygwin與MinGW,或是可以MS-DOS使用的DJGPP專案。Novell NetWare與Andriod在上也有移植。...但bash是解释型语言(还有编译型语言),所以变量的定义非常宽泛,定义可以不不指明变量类型,使用指明就可以了。...如果 trap 后面跟着一个用引号引用的命令,则在接收到指定的信号数字就执行这个命令。Shell 共读取两次命令字符串,一次是设置 trap ,一次是信号到达。...Bash 允许信号使用象征性名称,例如没有前缀(SIG)或者用数字作为信号的名称。一个叫做 EXIT 的或者数字 0 的伪信号,将在 shell 退出,导致一个陷阱的执行。...; 3、在用户输入了一个正确的别名后,请用户输入地址和掩码;并将其配置指定的别名; 4、如果用户使用了-v选项,则在配置完成后,显示其配置结果信息;否则,将不显示; 1 #!

1.3K30

Shell脚本编程30分钟入门

Mac OS Mac OS不仅带了sh、bash这两个最基础的解释器,还内置了ksh、csh、zsh等不常用的解释器。...Windows的模拟器 windows出厂没有内置shell解释器,需要自行安装,为了同时能用grep, awk, curl等工具,最好装一个cygwin或者mingw来模拟linux环境。...4 Mar 22 10:22 /bin/sh -> bash 但在Mac OS不是,/bin/sh和/bin/bash是两个不同的文件,尽管它们的大小只相差100字节左右: iMac:~.../function.sh bash里,source和.是等效的,他们都是读入function.sh的内容执行其内容(类似PHP里的include),为了更好的可移植性,推荐使用第二种写法。...$real_path 用户输入 执行脚本传入 脚本运行中输入 select菜单 stdin和stdout 常用的命令 sh脚本结合系统命令便有了强大的威力,字符处理领域,有grep、awk、sed三剑客

1.4K20

Linux 操作系统下的bash read命令

这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。 Bash附带了许多内置命令,您可以命令行或Shell脚本中使用它们。 本文中,我们将探讨内置的read命令。...bash内置read命令 read是bash内置命令,可从标准输入(或文件描述符)中读取一行并将该行拆分为单词。 第一个单词分配给名字,第二个单词分配给名字,依此类推。...当指定多个定界符,请将字符分配给IFS变量,并且它们之间没有空格。...提示字串 编写交互式bash脚本,可以使用read命令获取用户输入。 要指定提示字符串,请使用-p选项。 该提示会在执行read之前打印出来,并且不包含换行符。...当同时给出数组和变量名,所有单词都分配给数组。 结论 read命令用于将读取用户输入行拆分为单词。 如果您有任何问题或反馈,请随时发表评论。

2.3K40

Linux学习笔记(四)

数组变量 环境变量可作为数组使用数组是能够存储多个值的变量。 这些值可以单独引用,也可以作为整个数组来引用。...$ echo ${somekey[*]} # 输出全部,mac可以不用{},用此属性需谨慎。...使用bash -c选项传递过来的命令 BASH_LINENO 含有当前执行的shell函数的源代码行号的数组变量 BASH_REMATCH 只读数组使用正则表达式的比较运算符=~进行肯定匹配(positive...LC_CTYPE 决定如何解释出现在文件名扩展和模式匹配中的字符 LC_MESSAGES 解释前面带有S的双引号字符串,该环境变量决定了所采用的语言环境设置 LC_NUMERIC 决定着格式化数字采用的语言环境设置...\w或\W提示符字符串转义显示的尾部目录名的数量。

1.1K10

你以为键入网址后只是等待吗?惊!原来网页显示背后隐藏着这些奇妙步骤(中)

而MSS则是去除IP和TCP头部之后,一个网络包所能容纳的TCP数据的最大长度。 当数据长度超过MSS,数据会被拆分成多个块,每个块的长度为MSS。...每个被拆分的数据块都会被放入单独的网络包中,并在每个被拆分的数据块中添加TCP头信息,然后由IP模块来发送这些数据。...当客户端存在多个网卡,即有多个 IP 地址可供选择,需要根据具体情况来确定选用哪个 IP 地址作为源地址。这个选择过程相当于多个网卡中判断应该使用哪个网卡来发送数据包。...路由表中找到匹配的条目后,我们可以将数据包发送给网关(Gateway)列中对应的 IP 地址。 当我们不知道对方的 MAC 地址,可以通过使用 ARP(地址解析协议)来获取。...最后,当数据包准备好之后,网卡会将其转换为电信号,通过网线发送出去。这样,数据包就能够被目标设备接收和处理。这个过程中,网卡起到了关键的作用,确保了数据的有效传输。

27030

使用PHP辅助 快速制作一套自己的手写字体实践

(大概1700字左右),或者自己所常见到的字体,这个过程就需要用PHP来分析,分析出来之后再将其提取出来,做成模板。...3.4.1 汉字拆分数组 首先笔者将去重后的字符串拆分数组,因为汉字比较特殊,所以需要自定义一段代码,参考代码如下: //把汉字拆分数组 function ch2arr(string $str) {...limit大于0,还可以筛选重复次数大于0的汉字,代码如下 function strSelect(string $string, string $word, $limit = 0) { //把字符串分割为数组...六、使用字体 当字体生成完成之后,笔者安装字体文件即可 6.1 安装字体 安装字体mac下和widnows下都非常简单,首先看看mac下安装方法,下载字体之后,可以直接双击字体文件,会看到如下图 ?...6.2 WPS中使用 笔者很多时候都会使用到word文件,读者喜欢用wps,那么如何在WPS中使用“轻松体”呢,其实非常简单,随便输入一些文字之后,在上方选择“轻松体”即可,效果如下图所示 ?

96330

使用PHP辅助快速制作一套自己的手写字体实践

: [^\u4e00-\u9fa5] 笔者平时开发习惯使用phpstorm这款IDE,因此这里教大家使用此IDE来删除非中文字符;按住键盘 ctrl+r,替换文本内容,然后将正则表达式放入查找项当中,并且勾选...3.4.1 汉字拆分数组 首先笔者将去重后的字符串拆分数组,因为汉字比较特殊,所以需要自定义一段代码,参考代码如下: //把汉字拆分数组 function ch2arr(string $str) {...limit大于0,还可以筛选重复次数大于0的汉字,代码如下 function strSelect(string $string, string $word, $limit = 0) { //把字符串分割为数组...,如下图所示 [image] 六、使用字体 当字体生成完成之后,笔者安装字体文件即可 6.1 安装字体 安装字体mac下和widnows下都非常简单,首先看看mac下安装方法,下载字体之后,可以直接双击字体文件...6.2 WPS中使用 笔者很多时候都会使用到word文件,读者喜欢用wps,那么如何在WPS中使用“轻松体”呢,其实非常简单,随便输入一些文字之后,在上方选择“轻松体”即可,效果如下图所示 [image

1.4K30

Shell脚本攻略01-简介终端打印

概述  终端打印  玩转变量与环境变量  使用函数填加环境变量  通过shell进行数学运算  玩转文件描述符与重定向  数组和关联数组使用别名  获取终端信息.../表示当前目录 或者 $ /home/path/script.sh #使用脚本的完整路径 内核会读取脚本的首行注意到shebang为#!/bin/bash。...每种方法的副作用:  使用不带引号的echo,没法在所要显示的文本中使用分号(;),因为分号Bash shell 中被用作命令定界符。...我们可以printf中使用格式化字符串,还可以指定字符串的宽度、左右对齐方式等。...注意,每行格式字符串后都有一个换行符(\n) ---- 其他注意事项 使用echo和printf的命令选项,要确保选项应该出现在命令行内所有字符串之前,否则Bash将其视为另外一个字符串

2.5K20

自动化测试微信小程序

8 配置adb使用 Mac系统中,很多时候第一次Android SDK中使用adb的时候。无法使用。会提示-bash: abd: command not found。...此命令行输入完毕后,会自动弹出 .bash_profile 文件的编辑窗口 .bash_profile文件中输入 export PATH=/Users/您的用户名/文件路径/platform-tools.../:$PATH 注意:如果需要添加多个路径到PATH下,需要用“:”(英文的冒号)隔开。...命令行中输入:open -e .bash_profile .bash_profile文件中输入 : export ANDROID_HOME=/android sdk所在目录/ export JAVA_HOME...中 地址,可以使用工具命令“/usr/libexec/java_home”来定位JAVA_HOME 更新刚配置的环境变量 命令行中输入:source .bash_profile 再次执行环境监测命令,执行成功

2.7K10

Shell脚本——内置命令

例如,用于进入或者切换目录的 cd 命令,虽然我们一直使用它,但如果不加以注意很难意识到它与普通命令的性质是不一样的:该命令并不是某个外部文件,只要在 Shell 中你就一定可以运行这个命令。...三、echo命令 echo 是一个 Shell 内建命令,用来终端输出字符串,并在最后默认加上换行符。...如果用户没有指定时间内输入完成,那么 read 将会返回一个非 0 的退出 五、exit命令 exit 是一个 Shell 内置命令,用来退出当前 Shell 进程,返回一个退出状态;使用$?...logout 退出登录 shell mapfile 从 STDIN 读取数据行,并将其加入索引数组 popd 从目录栈中删除记录 printf 使用格式化字符串显示文本 pushd 向目录栈添加一个目录...pwd 显示当前工作目录的路径名 read 从 STDIN 读取一行数据并将其赋给一个变量 readarray 从 STDIN 读取数据行并将其放入索引数组 readonly 从 STDIN 读取一行数据并将其赋给一个不可修改的变量

2.1K10

Shell 内建命令:Shell 的内在魔力

logout退出登录 shellmapfile从 STDIN 读取数据行,并将其加入索引数组popd从目录栈中删除记录printf使用格式化字符串显示文本pushd向目录栈添加一个目录pwd显示当前工作目录的路径名...read从 STDIN 读取一行数据并将其赋给一个变量readarray从 STDIN 读取数据行并将其放入索引数组readonly从 STDIN 读取一行数据并将其赋给一个不可修改的变量return强制函数以某个值退出.../bin/bash# 使用 read 命令给多个变量赋值read -p "Enter your name, age and city ===> " name age cityecho "你的名字为:${...else echo "Invalid password"fiexit 用来退出当前 shell 进程,返回一个退出状态可以使用 $?...-g name Shell 函数内部创建全局变量。-p name显示指定变量的属性和值。-a name声明变量为普通数组。-A name声明变量为关联数组(支持索引下标为字符串)。

9600

PhotoSweeper X for Mac(重复照片清理工具)

易于使用,快速,功能强大,美观的复制照片清洁为Mac文件和文件夹查找消除硬盘或外部存储的重复项。删除后,照片将系统废纸篓,因此可以恢复。...删除,PhotoSweeper不会删除文件,但会将其标记为“已拒绝”放入特殊集合。 你为什么需要PhotoSweeper?...批量重命名您可以复制或移动文件到另一个文件夹批量重命名文件。它可以帮助您更好地Mac导入照片。安全删除PhotoSweeper永远不会直接从磁盘或媒体库中删除文件。...如果出现问题,您可以从“废纸篓”恢复照片。图像格式支持所有流行的图像格式,包括RAW和HEIC。独家支持PDF,DNG和WebP格式。...macOS MojavePhotoSweeper充分利用了最新功能,并在macOS Mojave显得非常漂亮。High Sierra也很棒。

71210

Linux Shell基础篇三 - 内置命令

使用type来确定一个命令是否是内置命令或可执行文件: 1 type [-tpa] 命令名 参数 说明 无参数 显示出命令名是外部指令还是 bash 内建指令 -t 会将命令名以底下这些字眼显示出他的意义...:file :表示为外部可执行文件; alias :表示该指令为命令别名所设定的名称; builtin :表示该指令为 bash 内建的指令功能; -p 如果后面接的可执行文件为外部指令,会显示出完整文件名...logout 退出登录 shell mapfile 从 STDIN 读取数据行,并将其加入索引数组 popd 从目录栈中删除记录 printf 使用格式化字符串显示文本 pushd 向目录栈添加一个目录...pwd 显示当前工作目录的路径名 read 从 STDIN 读取一行数据并将其赋给一个变量 readarray 从 STDIN 读取数据行并将其放入索引数组 readonly 从 STDIN 读取一行数据并将其赋给一个不可修改的变量...echo用于终端输出字符串,并在最后默认加上换行符。

1.3K30

完全搞懂 Javascript 中的...

其中之一就是我们可以用在任何兼容容器(对象、数组字符串、集合、映射)前面的三个连续点。这些小点使我们能够编写更加优雅和简洁的代码。本文中我将会解释这三个点的工作原理,展示最常见的例子。...展开运算符 展开运算符允许迭代器接收器内部分别展开或扩展。迭代器和接收器可以是任何可以循环的对象,例如数组、对象、集合、映射等。你可以把一个容器的每个部分分别放入另一个容器。...复制数组 当我们需要修改一个数组,但又不想改变原始数组(其他人可能会使用它),就必须复制它。...它也是可迭代的,因此我们可以将其展开到新的数组中,并且得到的数组中的值是唯一的。...将字符串拆分为字符 最后是字符串。你可以用展开运算符把字符串拆分为字符。当然,如果你用空字符串调用 split 方法也是一样的。

67420
领券