分页: 1 / 1

关于sh命令疑问?

发表于 : 2009-05-05 18:58
pshvvvv
我照着书上的例子,写了几个脚本,给x权限后,#./file.sh运行正常,但用#sh file.sh老是出现语法错误,就几行代码,反复查了很多次,按照它提示错误行,没看出来?


这是怎么回事呢? 如何很的语法错误,那用./为什么能正常运行呢?还是其他什么?

#!/bin/bash

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

Re: 关于sh命令疑问?

发表于 : 2009-05-05 22:06
xuyu16
楼主试试:bash file.sh
sh 不同于 bash 它们的语法格式有差别的

Re: 关于sh命令疑问?

发表于 : 2009-05-05 22:08
xuyu16
./file.sh 时 #!/bin/bash 就发威了。

Re: 关于sh命令疑问?

发表于 : 2009-05-05 22:09
hubert_star
ubuntu的sh应该是dash,而不是标准的bash

功能上被阉割了不少,好像debian的发行版都是这个

导致很多东西兼容性都不好,比如oracle,或者是学习abs的例子

换成arch吧

Re: 关于sh命令疑问?

发表于 : 2009-05-06 13:22
pshvvvv
哦,是这样啊,,谢谢 :em01

Re: 关于sh命令疑问?

发表于 : 2009-11-20 18:00
kooko1986
:em02

Re: 关于sh命令疑问?

发表于 : 2009-12-09 21:20
tusooa
hubert_star 写了:ubuntu的sh应该是dash,而不是标准的bash

功能上被阉割了不少,好像debian的发行版都是这个

导致很多东西兼容性都不好,比如oracle,或者是学习abs的例子

换成arch吧
bsd ash
移植到Linux上的,还加了一个Debian的牌子
速度比较快,功能比较少

Re: 关于sh命令疑问?

发表于 : 2009-12-13 23:50
stesen
hubert_star 写了:ubuntu的sh应该是dash,而不是标准的bash

功能上被阉割了不少,好像debian的发行版都是这个

导致很多东西兼容性都不好,比如oracle,或者是学习abs的例子

换成arch吧
兼容性不好是因为那些东西都不合posix,dash好处比坏处多多了
用户shell还是bash,要换系统shell只要换/bin/sh软连接就行了,整天拉人进arch,烦都烦死了