尼玛,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 ubuntu_version `GLIBC_2.25` not found
现在ubuntu上,默认是不支持chkconfig命令的,但支持自己安装,需要自己去下载对应的安装包。 方法:在存放该文件的目录下执行:dpkg -i chkconfig_11.0-79.1-1ubuntu1_all.deb
qt编译连接MYSQL出现QMYSQL driver not loaded 基本成为普遍现象,网络...其余环境未试,请先执行ldd libqsqlmysql.so命令查看是否是libmysqlclient_r.so.18 => not found,是则可以用本安装包,不是的话就不一定适用。
ubuntu硬盘安装,修复Ubuntu的grub引导,修复windows7的引导,这是方便多系统的相互提供引导
ubuntu系统升级或者安装机器学习依赖库时,用这个可以防止劫持
ubuntu ubuntu_编译时出现_bin_sh_1_pushd_ not found
环境: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的启动项。下面来说明如何修复。 进...
终于,在测试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,以及Eclipse 新建项目时找不到 MinGW 问题
nss-3.9 linux
最新的Ubuntu或Debian安装新虚拟机,或者复制别人安装好的虚拟机,出现黑屏,屏幕上提示kernel panic错误: end kernel panic - not syncing: corrupted stack end detected inside scheduler 或者 end kernel ...
在配置Bugzilla时,GD安装一直不成功,缺少一些相关模块,按照文档内容操作即可.
bash: vi: command not found, 场景: 因为 docker里面没有这个命令,我们安装一下 apt-get update apt-get install vim 如果 这个时候 安装也还是会出现 异常 root@446d7cf1606c:/etc/mysql# apt-get update ...
ldd libqsqlmysql.so报错libmysqlclient.so.18 => not found,下载该包,然后dpkg -i libmysqlclient18_5.6.25-0ubuntu1_amd64.deb 即可,再ldd libqsqlmysql.so 即可。
Command not found E:无法获得锁,rosdep init初始化失败问题(网上种办法均解决不了,不是网络问题,我来教你安装)↵ 安装Melodic 新手第一次装melodic的时候根据安装步骤安装总是遇到报错问题,你的运行结果和...
原因 python 可能被 python2 或者 python 3 代替了导致映射不到。 解决方法 命令行执行: ls -l /usr/bin/python* 然后会出现: lrwxrwxrwx 1 root root 9 3月 16 09:09 /usr/bin/python3 -> python3.6 ...
Ubuntu12.04的apt-get搜狐源,直接下载至/etc/apt/下即可,执行apt-get update
Ubuntu下安装RocksDB