read 数组

hadoop@hadoop:~$ IFS=$tmpIFS

hadoop@hadoop:~$ IFS='#'

hadoop@hadoop:~$ echo "${IFS}"
#
hadoop@hadoop:~$ echo "wei#hon#rao"|while read -a names;do echo "the len of the array is ${#names[*]}";done
the len of the array is 3
hadoop@hadoop:~$ IFS=$tmpIFS

hadoop@hadoop:~$


注意在更改了IFS=‘#’ 要echo IFS的值必须用爽引号。


一个有意思的东西

类似以上的方式(采用IFS默认值空格)

hadoop@hadoop:~$ echo "wei hong rao"| read -a names
hadoop@hadoop:~$ echo ${#names[@]}
0

如果不用循环的话完全得不到names的值,只有用while

hadoop@hadoop:~$ echo "wei hong rao"| while read -a names;do echo "len is ${#names[*]}";done
len is 3


原因如同我的另一篇文章<

linux 管道产生子shell

>所提到的那样,使用管道会产生子shell,子shell不能访问主shell中的变量,反之亦然。

solution:

put all commands in sub-shell (in ())

hadoop@hadoop:~$ echo "wei hong rao "|(read -a names;echo ${#names[@]})
3
hadoop@hadoop:~$


你遇到的错误是"TypeError: Cannot read properties of undefined"。这个错误通常表示你在尝试访问一个未定义或不存在的属性。你的引用内容提供了一些关于这个错误的解决方法。首先,要注意你是否在尝试访问一个不存在的属性,比如一个未定义的变量或一个不存在的数组元素。你可以使用条件语句和检查方法(如Array.isArray())来确保你正在访问一个有效的属性。其次,你也可以检查你是否正确地使用了循环来遍历数组。在循环中,你需要确保数组中的每个元素都存在并且有定义的属性。如果数组中的某个元素是undefined,那么你可能需要检查数组的边界条件,以避免访问不存在的元素。另外,如果你使用的是jQuery库,那么你还需要确保你的jQuery版本是兼容的,并且你正确地引入了jQuery库文件。通过仔细检查你的代码和参考提供的解决方法,你应该能够解决这个问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span> #### 引用[.reference_title] - *1* *3* [排错日记:js二维数组TypeError: Cannot read properties of undefined (reading ‘2‘)](https://blog.csdn.net/weixin_45613955/article/details/130067188)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法](https://download.csdn.net/download/weixin_38693586/14805574)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *4* [明明是数组但是却报错Cannot read properties of undefined (reading ‘length‘)](https://blog.csdn.net/qq_33769914/article/details/122714525)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值