【学习】linux shell 编程

来源:互联网 发布:javascript 基础 知乎 编辑:程序博客网 时间:2024/05/21 11:07

近来 写了个shell 的脚本,本来觉得是一个比较简单的小功能,却花费了我不少时间。

总结起来有这么几点特别值得注意:

1)课本中的说明 要看全,我曾经在linux shell的课本中看到有这么一条,赋值操作 其前后都不能有空白,可是我却没怎么记住,总是会犯类似的错误

    直到我使用了函数,我才明白这一点,因为函数和变量两者是类型的   比如我定义一个变量  list=(1 2);然后我也定义了一个函数  listB(){  cmd;}

    当我呀执行这个函数的时候 就会是  listB  根本看不出这个东东是变量还是 函数


2)今天试了好多次,在linux shell 下定义的变量,值貌似确定了之后就不能再改变了,今天试了很多次都这样,不过这个地方我觉得很奇怪。有高手可以帮我解析下


3)求取数组的最后一个:这个东东,我在网上开始搜索的时候,没有搜索到,等我写好了一个函数之后,突然又搜索到了 中间使用了# ,具体原因不记得了,可有高手帮忙解释下。


4)写shell 脚本的时候,一定要添加上注释,那个地方有问题,就把问题前后的关键节点都做好注释,这样绝对是事半功倍,可以一举数得。


5)还有就是,当你给shell 编写的函数的参数 赋值的时候,不要赋值数组,当你赋值数组的时候,其实是将整个数组都散列开,然后一个一个元素赋值的,当你在shell 编写的函数中读取 你传递的数组的时候,你就会发现其实只是一个 数值。如果你想把一个数组传递到函数中,可以这样处理,就是在原来输入数组的地方的前后都加上"",这样就可以让添加的数组作为一个元素传递给 shell ,这样在函数内部就可以进行单独处理了。


6)shell 对于错误的提示,不会太精确,因此 需要有意识的去摸索,以及从之前的 学习和经验中进行总结。



原创粉丝点击