shell脚本里有数组时的执行问题,centos下成功不报错,debian就报错
2022/2/8 7:14:01
本文主要是介绍shell脚本里有数组时的执行问题,centos下成功不报错,debian就报错,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
无论用 () 这种一行代码的语法。
hmj_arr=(hmj_status)
还是用 六行代码的语法
hmj_status=$(pgrep -l java|awk '{print $1}')
i=0
for hmj_pid in $hmj_status
do
hmj_arr[$i]=$hmj_pid
i=$i+1
done
centos下都能成功把字符串转化成数组,但debian下就报错。
原因是:
其他操作系统执行sh指向的是bash
但是debian的sh指向的确实dash
[root@test-100 list]# which sh /bin/sh [root@test-100 list]# ls -lh /bin/sh lrwxrwxrwx 1 root root 4 Nov 8 2014 /bin/sh -> dash
又因为dash是比bash还轻量的,只支持基本的shell功能,
其中不包括刚才那种数组初始化,所以才会识别不了,直接报Syntx error
解决办法是,先赋予脚本执行权限,然后直接用bash test.sh
这篇关于shell脚本里有数组时的执行问题,centos下成功不报错,debian就报错的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15在使用平台私钥进行解密时提示 "私钥解密失败" 错误信息是什么原因?-icode9专业技术文章分享
- 2024-11-15Layui框架有哪些方式引入?-icode9专业技术文章分享
- 2024-11-15Layui框架中有哪些减少对全局环境的污染方法?-icode9专业技术文章分享
- 2024-11-15laydate怎么关闭自动的日期格式校验功能?-icode9专业技术文章分享
- 2024-11-15laydate怎么取消初始日期校验?-icode9专业技术文章分享
- 2024-11-15SendGrid 的邮件发送时,怎么设置回复邮箱?-icode9专业技术文章分享
- 2024-11-15使用 SendGrid API 发送邮件后获取到唯一的请求 ID?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 tags标签最多有多少个?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 怎么批量发送给多个人?-icode9专业技术文章分享
- 2024-11-15如何搭建web开发环境并实现 web项目在浏览器中访问?-icode9专业技术文章分享