linux – 将变量拆分为多个变量

linux – 将变量拆分为多个变量,第1张

概述我知道之前有人问过,但答案并不能完全满足我的需求.我为一个给定的字符串pgrep,它返回一个PID列表,其中包含变量中的字符串(在本例中为$testpid).然后我尝试将每个PID分开,他们用这样的空间进行分离: PIDS: 17717 172132 2138213 码: IFS=" " read -a pidarray <<< "$testpid"echo pidarray[0] *而不是上面 我知道之前有人问过,但答案并不能完全满足我的需求.我为一个给定的字符串pgrep,它返回一个PID列表,其中包含变量中的字符串(在本例中为$testpID).然后我尝试将每个PID分开,他们用这样的空间进行分离:

PIDS:

17717 172132 2138213

码:

IFS=" " read -a pIDarray <<< "$testpID"echo pIDarray[0]

*而不是上面的回声我会将数组中的每个项目分配给它自己的变量

但是我收到以下错误:

Syntax error: redirection unexpected
解决方法 你的语法几乎是正确的:
IFS=' ' read -r -a pIDarray <<< "$testpID"echo "${pIDarray[0]}"

请注意数组取消引用所需的花括号.

更重要的是,检查你的shebang是#!/ bin / bash,还是用bash yourscript执行你的脚本,而不是你的脚本.给出的错误与不识别<<<<<<<<<<作为有效的语法 - 任何远程现代bash在作为bash调用时总是会出现;即使/ bin / sh指向同一个可执行文件,它也会告诉bash禁用POSIX规范中的许多扩展. 现在,这就是说 – 如果你的目标是将每个条目分配给它自己的变量,你根本不需要(也不应该使用)读取-a! 代替:

IFS=' ' read -r first second third rest <<<"$testpID"printf '%s\n' "First PID is $first" "Second PID is $second"
总结

以上是内存溢出为你收集整理的linux – 将变量拆分为多个变量全部内容,希望文章能够帮你解决linux – 将变量拆分为多个变量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1049307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存