尼玛,ubuntu默认dash不支持数据,搞了好久,按下面方便把系统默认shell改为bash就行。 #!/bin/sh declare -a name for i in `seq 100` do name[$i]=$i echo ${name[$i]} #为方便检查,加了打印 done
追问
都会报错
回答
同样是Ubuntu 10.10,不会报错。 书写时请注意空格,关键词for后面要有空格
追问
加了空格一样错
回答
我看了你下面的程序, 关键问题在于,你声明为了 #!/bin/sh,而sh环境是不能用 for((i=0; i<100; i++)) 这种不符合POSIX标准的语句的。只能用我的第二种方法。 for ... in ... 这种语句是支持的。或者用while循环,变量在循环中递增。
追问
#!/bin/sh for i in 1 2 3 do name[$i]=$i done name[1]=1:not found name[2]=1:not found name[3]=1:not found 说实话,从没接触过象shell这么渣的语言。一点规范都没
回答
for循环前加上这句试试: declare -a name 声明name为数组变量
追问
加不加都试过了,都错
回答
ubuntu中默认的shell是dash,是不支持数组的。 ls -l /bin/sh 可以看到sh是个指向dash的链接,所以你声明#!/bin/sh其实还是用的dash。 我忘记自己曾经配置过Ubuntu了。如下: ========================================= 怎么能把 dash 去掉而使用默认的 bash? 使用命令:sudo dpkg-reconfigure dash 此命令是对已安装的包进行重新配置,在菜单(dash-bash-sh.png)中选择是否将 sh 链接到 dash (Install dash as /bin/sh?) 选择否即可。具体请到百度文库中搜索“Ubuntu把默认的bash替换成了dash“,里面有一张图片说明。 还有另一种不太好看的办法,请百度搜索“Shell中模拟数组”。
相关推荐
### Ubuntu 编译时出现 `/bin/sh: 1: pushd: not found` 错误解析及解决方案 #### 一、问题概述 在Ubuntu环境下进行软件编译时,可能会遇到以下错误信息:“/bin/sh: 1: pushd: not found”。此错误提示通常发生在...
根据提供的文件信息,文档标题“ubuntu-version `GLIBC-2.25` not found.pdf”以及描述“ubuntu_version `GLIBC_2.25` not found”,明确指出在Ubuntu系统上遇到了GLIBC 2.25版本未找到的问题。GLIBC(GNU C Library...
现在ubuntu上,默认是不支持chkconfig命令的,但支持自己安装,需要自己去下载对应的安装包。 方法:在存放该文件的目录下执行:dpkg -i chkconfig_11.0-79.1-1ubuntu1_all.deb
编译时报 Looking for pthread_create - not found 的解决办法 linux gcc 编译时报Looking for pthread_create - not found 其解决办法是...
qt编译连接MYSQL出现QMYSQL driver not loaded 基本成为普遍现象,网络...其余环境未试,请先执行ldd libqsqlmysql.so命令查看是否是libmysqlclient_r.so.18 => not found,是则可以用本安装包,不是的话就不一定适用。
### 解决“launch failed binary not found”的方法 在软件开发过程中,尤其是对于初学者而言,经常会遇到各种编译和运行时的问题。其中一个常见的错误就是“launch failed binary not found”。这篇文章将详细地...
### Linux中找不到编译内核提示mkimage command not found – U-Boot images will not be built的解决方法 在Linux环境中进行嵌入式系统的开发时,经常会遇到各种编译错误或缺失依赖的问题。其中,“mkimage ...
标题中的“sqlite3:not found”是一个常见的错误提示,通常在Linux或类Unix系统中出现,意味着系统找不到sqlite3命令行工具。SQLite是一款轻量级的数据库管理系统,它被广泛应用于嵌入式设备、移动应用以及服务器端...
在使用Linux或Unix类操作系统时,可能会遇到"sqlite3 not found"这样的错误提示,这通常意味着系统中没有安装SQLite3这个数据库引擎或者其路径没有被正确地添加到系统的PATH环境变量中。SQLite3是一个轻量级、开源的...
### Ubuntu硬盘安装与引导修复详解 #### 一、硬盘安装Ubuntu 在进行硬盘安装Ubuntu之前,需要准备必要的工具和文件,比如使用`grub4dos`来创建引导菜单,以及Ubuntu的ISO镜像文件。 **步骤如下:** 1. **准备grub...
ubuntu系统升级或者安装机器学习依赖库时,用这个可以防止劫持
标题“nss-3.9 ubuntu linux”和描述“nss-3.9 linux”都提到了“nss-3.9”,这是一个针对Linux系统,特别是Ubuntu的版本号,其中“nss”代表Network Security Services。Network Security Services(NSS)是Mozilla...
环境:ubuntu 16.04 64 php 版本:php-7.1.4 发现问题 正常编译安装 php 按照以前流程,把 init.d.php-fpm 往 /etc/init.d/php-fpm 拷贝 然后准备执行 service php-fpm start 时出错了 错误如下 Failed to start ...
Ubuntu,然后再选择Install Ubuntu即可进入Ubuntu Live界面。在里面点击“安装Ubuntu ”按提示执行即可。 2、修复 Windows 启动项 重新启动ubuntu之后,你会发现丢失了windows 7的启动项。下面来说明如何修复。 进...
ubuntu python matplotlib, 适用于“findfont: Font family ['SimHei'] not found. Falling back to DejaVu Sans.”
终于,在测试Docker版本升级后,启动Docker时,遇到了docker.service: Unit not found。问题虽然不大,但是却折磨了我几个小时,所以在此mark一下。 操作系统:Red Hat Enterprise Linux 7 原因1:docker.socket ...
本篇文章将深入探讨如何解决"Program "g++" not found in PATH"、"Lanuch failed no binaries"以及新建项目时找不到MinGW的问题。 首先,"Program "g++" not found in PATH"错误表明Eclipse无法在系统的PATH环境...
安装Ubuntu18过程中,从u盘启动ubunt安装,出现mmx64.efi not found问题 如下图: 制作好ubunt启动盘之后在EFI/BOOT下会看到两个文件,将其中grubx64.efi改名为mmx64.efi即可重装系统。 总结 以上所述是小编给大家...