今天第一次开始接触到shell的编程,尝试去实现比较简单的功能(其实就是熟悉一些简单的shell,然后做一个简单的函数调用),但是依然碰到了不少问题,费了不少的力气才找到原因所在,这里就分享一下,让和我一样的新手尽量避免这些非技术的问题。先上代码:
function add()
{
((_Num1=$1+$2))
echo "The result of operate is : ${_Num1}"
}
function mins()
{
_Num1=$[$1-$2]
echo "The result of operate is : ${_Num1}"
}
case $1 in
-add)
add $2 $3
;;
-mins)
mins $2 $3
;;
-help)
echo "The srcipt is support the operation of add and mins"
echo "Two parameter should follow the operate symbol"
echo "For example : $0 -add 4 5"
;;
*)
echo "Input errore"
;;
esac
代码其实非常的简单,发现的问题真不少。
首先是加法运算,最初写的是_Num1=$1+$2,结果一直打印出来的结果不对,如果输入2和3,那么结果就是2+3,不会直接显示5,其实方法有很多种,我用来其中两种办法,一种是直接用(())将整个表达式括起来,另外一种就是用$[]符号将左边的运算括起来。这两种经过测试是可以的,至于为什么,那就得大神来给我们这些小菜鸟来指点了。^_^
写好脚本之后,开始运行测试,结果去出人意料,直接报错(出现符号错误)。
first.sh:1:first.sh:Syntax error :"("unexpected
刚开始一直是以为自己的函数写错,尝试了几次修改之后,问题得不到解决,可以认为不是编程的问题。想了一下,由于脚本是在windows下编写的,在linux下执行的,果断用dos2unix工具将脚本转换一下,果然问题解决。哈哈,发现shell编程还是很有意思的。测试指令与结果:
# ./first.sh -add 7 8
The result of operate is : 15
虽然解决的问题很简单,但是这也是一种成长的方式••嘿嘿••以后会继续学习,碰到比较难的问题时,希望能有大神指点。该睡觉了••大伙晚安??o(∩_∩)o 哈哈
lukasli 于 2017-03-24 02:00:34发表:
呃,好吧,最好知道shell解决什么问题。不过有被python替代的趋势
Alwa 于 2017-03-22 23:38:16发表:
感谢
yangyanlong 于 2015-04-28 09:29:25发表:
学习了
sukey_hero 于 2015-01-30 16:06:02发表:
顶!
tianhaighj 于 2015-01-28 13:20:47发表:
这TM跟非技术有关?
smartrobot 于 2015-01-26 14:01:30发表:
挺好的分享
felixchenjia 于 2014-12-31 17:12:15发表:
学习了
cc20911 于 2014-12-10 12:46:31发表:
谢谢分享
1597644528 于 2014-11-18 20:58:09发表:
很好
zzirvin 于 2014-11-15 10:06:08发表:
学习
rookier 于 2014-11-08 16:29:32发表:
感谢分享,谢谢
jeffery_zou 于 2014-11-03 23:18:40发表:
mark一个学习学习!!!
hyh717 于 2014-07-31 13:43:32发表:
恩,来看看
army20151984 于 2014-07-02 12:31:45发表:
学习下1
chrile 于 2014-06-15 15:56:53发表:
说真的我对Shell这玩意怎么就提不起兴趣,看来一直就是个门外汉啊
anbin 于 2014-06-04 22:24:42发表:
同感,又进步了!
honglianqxw123 于 2014-05-21 14:54:12发表:
楼主好样的,继续努力。
Lynnxubj 于 2014-05-21 10:27:18发表:
学习了,感兴趣
tanchunlin 于 2014-05-19 23:01:37发表:
红联社区,linux园地
weilongwu 于 2014-04-25 20:41:56发表:
受教了
木子口王云 于 2014-04-24 20:55:09发表:
感谢小子要买房的分享,本贴加入到论坛的Linux分享贴中
yangyq2014 于 2014-03-15 20:41:07发表:
谢谢啦,我是新人,支持~~捧场
lyqyahoo123 于 2014-02-26 23:16:09发表:
下载下来试试。
463748260 于 2014-02-19 14:50:49发表:
学习学习
qxfsy 于 2014-02-09 10:52:58发表:
学习
chen59326 于 2014-01-23 10:08:32发表:
学习眯了一下
chen59326 于 2014-01-23 10:08:00发表:
学习眯了一下
tym5410 于 2014-01-17 14:21:00发表:
不错!
sodawewin 于 2014-01-13 09:33:37发表:
非常欣赏...要买 房
网络情报站 于 2014-01-08 10:29:45发表:
很好
YQ_Linux 于 2014-01-07 20:41:33发表:
我现在是要看会Linux的shell脚本,然后再写shell脚本,不知道方法正不正确
code_new 于 2013-12-22 13:02:31发表:
学习了
Tron 于 2013-12-18 12:53:21发表:
进步源于分享,多谢!
谢幕烟雨 于 2013-12-18 09:32:11发表:
小菜鸟来学习了、、、
lypop123 于 2013-12-12 13:03:05发表:
好,谢谢!!!!!!!!!
weiwudianxin 于 2013-12-10 17:41:23发表:
顶起,感谢分享
jiajinkui1988 于 2013-12-09 22:13:23发表:
很好。谢谢楼主
ouxianzhi520 于 2013-12-08 22:20:02发表:
一起学习,还未开始shell
于 2013-12-08 15:32:03发表:
勇于尝试,学习了
bigsea216 于 2013-12-07 13:11:49发表:
学习学习