免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4441 | 回复: 18
打印 上一主题 下一主题

问个弱弱的问题,关于bash下的declare. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-02 16:29 |只看该作者 |倒序浏览
我的环境是ubuntu 9.04
(root@luren05-desktop:~/test# cat /etc/issue
Ubuntu 9.04 \n \l)
看《鸟哥的linux私房菜》P200的循环一节。其中有个脚本是这样
root@luren05-desktop:~/test# vi test11-loop.sh

#!/bin/bash
# Using for and loop

declare -i s #
for (( i=1; i<=100; i=i+1 ))
do
        s=s+i
done
echo "The count is ==> $s"

当我root@luren05-desktop:~/test# sh test11-loop.sh 时提示如下

test11-loop.sh: 4: declare: not found
test11-loop.sh: 5: Syntax error: Bad for loop variable

语法没错误阿,却提示错误,还有declare的。那位解答一下,谢谢!

论坛徽章:
0
2 [报告]
发表于 2009-07-03 08:41 |只看该作者
没有declare命令,手工执行看看

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
3 [报告]
发表于 2009-07-03 08:46 |只看该作者
我的系统可以正常运行
sh ./test11-loop.sh
The count is ==> 5050

论坛徽章:
0
4 [报告]
发表于 2009-07-03 08:54 |只看该作者

回复 #2 qtdszws 的帖子

root@luren05-desktop:~/test# declare
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="2" [2]="48" [3]="1" [4]="release" [5]="i486-pc-linux-gnu"
BASH_VERSION='3.2.48(1)-release'
COLORTERM=gnome-terminal
COLUMNS=80
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-vTyhsVYy0T,guid=549f3d77314e679bf052735f4a4d512a
DESKTOP_SESSION=default
DIRSTACK=()
DISPLAY=:0.0
EUID=0
GDMSESSION=default
GDM_LANG=zh_CN.UTF-8
GDM_XSERVER_LOCATION=local
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GNOME_KEYRING_PID=3089
GNOME_KEYRING_SOCKET=/tmp/keyring-U7aa9j/socket
GPG_AGENT_INFO=/tmp/seahorse-iq5C86/S.gpg-agent:3277:1
GROUPS=()
GTK_IM_MODULE=scim
GTK_MODULES=canberra-gtk-module
GTK_RC_FILES=/etc/gtk/gtkrc:/root/.gtkrc-1.2-gnome2
HISTFILE=/root/.bash_history
HISTFILESIZE=500
HISTSIZE=500
HOME=/root
HOSTNAME=luren05-desktop
HOSTTYPE=i486
IFS=$' \t\n'
LANG=zh_CN.UTF-8
LESSCLOSE='/usr/bin/lesspipe %s %s'
LESSOPEN='| /usr/bin/lesspipe %s'
LINES=24
LOGNAME=root
LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01r=40;31;01:su=37;41:sg=30;43:tw=30;42w=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:'
MACHTYPE=i486-pc-linux-gnu
MAILCHECK=60
OLDPWD=/root
OPTERR=1
OPTIND=1
ORBIT_SOCKETDIR=/tmp/orbit-root
OSTYPE=linux-gnu
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PIPESTATUS=([0]="0"
PPID=3471
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS2='> '
PS4='+ '
PWD=/root/test
QT_IM_MODULE=xim
SESSION_MANAGER=local/luren05-desktop:/tmp/.ICE-unix/3104
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SHLVL=1
SSH_AGENT_PID=3249
SSH_AUTH_SOCK=/tmp/keyring-U7aa9j/socket.ssh
TERM=xterm
UID=0
USER=root
USERNAME=root
WINDOWID=27263029
WINDOWPATH=7
XAUTHORITY=/root/.Xauthority
XDG_DATA_DIRS=/usr/local/share/:/usr/share/:/usr/share/gdm/
XDG_SESSION_COOKIE=df0de02af61dd938662ecf404a156816-1246581031.458251-1770706554
XMODIFIERS=@im=SCIM
_=clear
command_not_found_handle ()
{
    if [ -x /usr/lib/command-not-found ]; then
        /usr/bin/python /usr/lib/command-not-found -- $1;
        return $?;
    else
        return 127;
    fi
}
root@luren05-desktop:~/test# declare -i a=3
root@luren05-desktop:~/test# declare -i b=5
root@luren05-desktop:~/test# declare -i c=$a*$b
root@luren05-desktop:~/test# echo $c
15
declare应该没什么问题吧??

[ 本帖最后由 luren04 于 2009-7-3 08:56 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-07-03 08:57 |只看该作者
原帖由 chenyx 于 2009-7-3 08:46 发表
我的系统可以正常运行

我重启了再试,还是那个问题。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
6 [报告]
发表于 2009-07-03 09:04 |只看该作者
我原封不动复制的你的脚本,可以运行的

论坛徽章:
0
7 [报告]
发表于 2009-07-03 09:12 |只看该作者

回复 #1 luren04 的帖子

当我root@luren05-desktop:~/test# sh test11-loop.sh 时提示如下

直接执行test11-loop.sh
别用sh执行它试试

论坛徽章:
0
8 [报告]
发表于 2009-07-03 09:35 |只看该作者
,Ubuntu真的有些怪。

论坛徽章:
0
9 [报告]
发表于 2009-07-03 09:36 |只看该作者
原帖由 urapple 于 2009-7-3 09:12 发表
当我root@luren05-desktop:~/test# sh test11-loop.sh 时提示如下

直接执行test11-loop.sh
别用sh执行它试试

root@luren05-desktop:~/test# test11-loop.sh
bash: test11-loop.sh:找不到命令
,要怎么搞??呵呵,俺很菜。

论坛徽章:
0
10 [报告]
发表于 2009-07-03 09:37 |只看该作者
原帖由 chenyx 于 2009-7-3 09:04 发表
我原封不动复制的你的脚本,可以运行的

看来是我这个系统有的地方设置不当了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP