分页: 1 / 2
如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 11:39
由 13378333
#!/bin/bash
# 输出九九乘法表
i=1
while [ $i -le 9 ]
do
j=1
while [ $j -le $i ]
do
echo -en $"${j}x${i}=$[i*j]\t"
let j++
done
echo
let i++
done
在RHEL里 就可以运行,为啥在ubuntu这里就出错了?
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 12:05
由 eliving
sudo dpkg-reconfigure bash ,然后选择否,ubuntu的默认sh是dash。可能是这个原因吧,你的脚本在我机子上没问题
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 12:29
由 eexpress
2楼。脚本里面都指定的bash嘛。
出错提示些什么?写出来。
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 13:10
由 lilydjwg
eexpress 写了:2楼。脚本里面都指定的bash嘛。
出错提示些什么?写出来。
人家执行的是 sh ./xxx 吧。
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 13:12
由 枫叶饭团
dash这坑爹的,果然还是zsh好。。
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 14:36
由 13378333
eexpress 写了:2楼。脚本里面都指定的bash嘛。
出错提示些什么?写出来。
-en $1x1=$[i*j]
1.sh: 10: 1.sh: let: not found
-en $1x1=$[i*j]
1.sh: 10: 1.sh: let: not found
-en $1x1=$[i*j]
1.sh: 10: 1.sh: let: not found
-en $1x1=$[i*j]
1.sh: 10: 1.sh: let: not found
-en $1x1=$[i*j]
1.sh: 10: 1.sh: let: not found
-en $1x1=$[i*j]
1.sh: 10: 1.sh: let: not found
-en $1x1=$[i*j]
1.sh: 10: 1.sh: let: not found
-en $1x1=$[i*j]
1.sh: 10: 1.sh: let: not found
-en $1x1=$[i*j]
1.sh: 10: 1.sh: let: not found
-en $1x1=$[i*j]
1.sh: 10: 1.sh: let: not found
-en $1x1=$[i*j]
无限循环
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 15:01
由 eexpress
谁蛋疼去sh ./xxx
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 15:15
由 lilydjwg
eexpress 写了:谁蛋疼去sh ./xxx
在你楼上

Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 15:26
由 eliving
呵呵,楼上各位小弟刚学linux,让各位见笑了。不过,小弟淡疼的去sh ./xxx真没问题
代码: 全选
sh ./test.sh
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 15:48
由 13378333
lilydjwg 写了:eexpress 写了:谁蛋疼去sh ./xxx
在你楼上

蛋疼?为啥sh xxx就不行了?和./ .这两种执行有什么区别 ?
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 15:53
由 枫叶饭团
默默的路过,不看man的问题直接无视掉
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 16:01
由 lilydjwg
13378333 写了:lilydjwg 写了:eexpress 写了:谁蛋疼去sh ./xxx
在你楼上

蛋疼?为啥sh xxx就不行了?和./ .这两种执行有什么区别 ?
因为 dash 不行。 ./ 使用的是第一行指定的 bash,而 sh 不一定是 bash。Ubuntu 默认是 dash,功能少得可怜。
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 16:10
由 eliving
lilydjwg 写了:13378333 写了:lilydjwg 写了:eexpress 写了:谁蛋疼去sh ./xxx
在你楼上

蛋疼?为啥sh xxx就不行了?和./ .这两种执行有什么区别 ?
因为 dash 不行。 ./ 使用的是第一行指定的 bash,而 sh 不一定是 bash。Ubuntu 默认是 dash,功能少得可怜。
你难道没看见我在2楼里的命令已经将sh从dash改为bash了吗
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 16:30
由 lilydjwg
eliving 写了:lilydjwg 写了:13378333 写了:
蛋疼?为啥sh xxx就不行了?和./ .这两种执行有什么区别 ?
因为 dash 不行。 ./ 使用的是第一行指定的 bash,而 sh 不一定是 bash。Ubuntu 默认是 dash,功能少得可怜。
你难道没看见我在2楼里的命令已经将sh从dash改为bash了吗
见到了,怎么了?您是 Ubuntu 核心开发者?
Re: 如何让ubuntu支持这样的写法?
发表于 : 2012-08-10 16:34
由 eliving
lilydjwg 写了:eliving 写了:lilydjwg 写了:13378333 写了:
蛋疼?为啥sh xxx就不行了?和./ .这两种执行有什么区别 ?
因为 dash 不行。 ./ 使用的是第一行指定的 bash,而 sh 不一定是 bash。Ubuntu 默认是 dash,功能少得可怜。
你难道没看见我在2楼里的命令已经将sh从dash改为bash了吗
见到了,怎么了?您是 Ubuntu 核心开发者?
不好意思被你说中了