分页: 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
在你楼上 :em05

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
在你楼上 :em05
蛋疼?为啥sh xxx就不行了?和./ .这两种执行有什么区别 ?

Re: 如何让ubuntu支持这样的写法?

发表于 : 2012-08-10 15:53
枫叶饭团
默默的路过,不看man的问题直接无视掉

Re: 如何让ubuntu支持这样的写法?

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

Re: 如何让ubuntu支持这样的写法?

发表于 : 2012-08-10 16:10
eliving
lilydjwg 写了:
13378333 写了:
lilydjwg 写了:
eexpress 写了:谁蛋疼去sh ./xxx
在你楼上 :em05
蛋疼?为啥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 核心开发者?
不好意思被你说中了