分页: 1 / 1
在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
发表于 : 2009-08-08 14:26
由 谦笔小新
各位大侠 ,提一个弱弱的问题,read 在script里面不能执行。
详情:我在终端里面用read读取一个数组
代码: 全选
read -p "Read some words" -a array
可以读取数组,
但是我写到script里面
代码: 全选
#!/bin/bash
read -p "Read some words" -a array
却提示
代码: 全选
read: 2: Illegal option -a
什么原因呢?各位不吝指教阿,在google查了一个小时了还没查出...
Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
发表于 : 2009-08-08 14:36
由 cnkilior
代码: 全选
#!/bin/bash
read -p "Read some words" array
就可以了。
虽然我不知道-a什么用!
Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
发表于 : 2009-08-08 14:42
由 谦笔小新
cnkilior 写了:代码: 全选
#!/bin/bash
read -p "Read some words" array
就可以了。
虽然我不知道-a什么用!
-a是read 一个数组的
不用-a就只read 一个字符串阿
这个在终端测试可以read一个数组,但是script就不行,哪位大侠指点下阿~
Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
发表于 : 2009-08-08 21:19
由 谦笔小新
我还发现一个问题
var=1
ls $var* 可以list我文件夹中的1.txt 1.sh
但是写到script里面又不行了~又认不出来$var*是什么东西了~不知道这是为啥呀~
Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
发表于 : 2009-08-08 21:31
由 O_O_BOT
#!/bin/bash
read -p "test:" -a array
for v in "${array[@]}";do
echo $v
done
没问题哦
Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
发表于 : 2009-08-12 10:53
由 谦笔小新
O_O_BOT 写了:#!/bin/bash
read -p "test:" -a array
for v in "${array[@]}";do
echo $v
done
+ read -p test: -a array
read: 1: Illegal option -a
test: 5: Bad substitution
Shell 已返回2
为什么我的有问题呢?
Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
发表于 : 2009-09-09 11:19
由 sunsoft1021
ls -l `echo $SHELL`
看看输出,可能你在终端的shell不是bash,可能会有这个问题,因为shell不同。
Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
发表于 : 2009-09-09 12:17
由 aerofox
谦笔小新 写了:O_O_BOT 写了:#!/bin/bash
read -p "test:" -a array
for v in "${array[@]}";do
echo $v
done
+ read -p test: -a array
read: 1: Illegal option -a
test: 5: Bad substitution
Shell 已返回2
为什么我的有问题呢?
你是怎么执行这个脚本的?如果是用“sh 文件名”的方式,那么改为“bash 文件名”。