当前位置: 技术问答>linux和unix
小白谢了个小脚本,可是不符合预期,望指点
来源: 互联网 发布时间:2017-04-22
本文导语: 小白谢了测试小脚本,目的是进行乘法计算 [xuhao@/export/home/xuhao]cat ~/xuhao_test/test1 #!/usr/bin/bash prepaid=100 ss=$prepaid*10|bc echo $ss [xuhao@/export/home/xuhao] 下面是执行结果。。。。郁闷 [xuhao@/export/home/xuhao]sh ~/xuhao_test/test1 [xuh...
小白谢了测试小脚本,目的是进行乘法计算
[xuhao@/export/home/xuhao]cat ~/xuhao_test/test1
#!/usr/bin/bash
prepaid=100
ss=$prepaid*10|bc
echo $ss
[xuhao@/export/home/xuhao]
下面是执行结果。。。。郁闷
[xuhao@/export/home/xuhao]sh ~/xuhao_test/test1
[xuhao@/export/home/xuhao]
[xuhao@/export/home/xuhao]cat ~/xuhao_test/test1
#!/usr/bin/bash
prepaid=100
ss=$prepaid*10|bc
echo $ss
[xuhao@/export/home/xuhao]
下面是执行结果。。。。郁闷
[xuhao@/export/home/xuhao]sh ~/xuhao_test/test1
[xuhao@/export/home/xuhao]
|
1,#!/bin/bash 这句是第一行,告诉shell运行bash shell,当然也可以用另外的shell运行脚本。
2,sh命令应该是运行的/bin/sh这个程序,我机器上,用ls -l /bin/sh看了下:
lrwxrwxrwx 1 root root 4 1月 14 2013 /bin/sh -> dash
这是一个链接,指向的dash,当然也可以指向其他地方,你可以看下你自己机器上指向哪种shell。
3,这句报错的原因,你最好看下管道|的用法,它是将左侧命令的输出传递给右侧命令处理。
有2种正确的赋值方法:
s=$(echo 10.00*1|bc)
s=`echo 30.00*1|bc`
你那句子可以照上面改下就行
2,sh命令应该是运行的/bin/sh这个程序,我机器上,用ls -l /bin/sh看了下:
lrwxrwxrwx 1 root root 4 1月 14 2013 /bin/sh -> dash
这是一个链接,指向的dash,当然也可以指向其他地方,你可以看下你自己机器上指向哪种shell。
3,这句报错的原因,你最好看下管道|的用法,它是将左侧命令的输出传递给右侧命令处理。
有2种正确的赋值方法:
s=$(echo 10.00*1|bc)
s=`echo 30.00*1|bc`
你那句子可以照上面改下就行
|
prepaid=100
ss=`echo $prepaid*10 |bc`
echo $ss
ss=`echo $prepaid*10 |bc`
echo $ss
|
看看你的Solaris里面有没有安装bash
[root@ tmp]# bash --version
bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
[root@ tmp]# which bash
which bash
/bin/bash
|
上面的都是正解,还可以用 let 和 expr 来做
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。