当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
帖子发表于 : 2009-08-08 14:26 

注册: 2009-01-09 21:14
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
各位大侠 ,提一个弱弱的问题,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查了一个小时了还没查出...


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
帖子发表于 : 2009-08-08 14:36 
头像

注册: 2007-08-05 17:40
帖子: 4968
送出感谢: 0 次
接收感谢: 4
代码:
#!/bin/bash
read -p "Read some words"  array

就可以了。

虽然我不知道-a什么用!


_________________
free VPN
YouKuDownLoader
代码:
pip3 install ykdl

install YouKuDownLoader, have fun in downloading.
YouKuDownLoader所支持网站列表


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
帖子发表于 : 2009-08-08 14:42 

注册: 2009-01-09 21:14
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
cnkilior 写道:
代码:
#!/bin/bash
read -p "Read some words"  array

就可以了。

虽然我不知道-a什么用!

-a是read 一个数组的
不用-a就只read 一个字符串阿
这个在终端测试可以read一个数组,但是script就不行,哪位大侠指点下阿~


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
帖子发表于 : 2009-08-08 21:19 

注册: 2009-01-09 21:14
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
我还发现一个问题
var=1
ls $var* 可以list我文件夹中的1.txt 1.sh
但是写到script里面又不行了~又认不出来$var*是什么东西了~不知道这是为啥呀~


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
帖子发表于 : 2009-08-08 21:31 
头像

注册: 2009-05-20 19:32
帖子: 2462
送出感谢: 0 次
接收感谢: 2
#!/bin/bash
read -p "test:" -a array
for v in "${array[@]}";do
echo $v
done

没问题哦


_________________
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
irc://irc.freenode.net/ubuntu-cn


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
帖子发表于 : 2009-08-12 10:53 

注册: 2009-01-09 21:14
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
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

为什么我的有问题呢?


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
帖子发表于 : 2009-09-09 11:19 

注册: 2009-08-19 10:21
帖子: 5
送出感谢: 0 次
接收感谢: 0 次
ls -l `echo $SHELL`
看看输出,可能你在终端的shell不是bash,可能会有这个问题,因为shell不同。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 在shell可以执行,在script里不能执行.[弱弱的问题,新手阿]
帖子发表于 : 2009-09-09 12:17 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
谦笔小新 写道:
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 文件名”。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译