zoukankan      html  css  js  c++  java
  • 参数位置关于shell

    本文朋友在青岛游玩的时候突然想到的...今天就有想写几篇关于参数位置的笔记,所以回家到之后就奋笔疾书的写出来发布了

        

        什么时候不适合使用Shell脚本

        

        

    • 资源密集型的任务, 尤其在须要斟酌效率时(比如, 排序, hash等等).

    • 须要处理大任务的数学操作, 尤其是浮点运算, 准确运算, 或者庞杂的算术运算(这种情况一般使用C++或FORTRAN来处理).

    • 有跨平台移植需求(一般使用C或Java).

    • 庞杂的应用, 在必须使用结构化编程的时候(须要变量的类型检查, 函数原型, 等等).

    • 至关重要的应用, 比如说为了这个应用, 你须要赌上自己的农场, 甚至赌上你们公司的未来.

    • 对于安全有很高要求的任务, 比如你须要一个健壮的系统来防止入侵, 破解, 恶意损坏等等.

    • 工程的每一个组成部分之间, 须要连锁的依赖性.

    • 须要大规模的文件操作(Bash受限于顺序地进行文件访问, 而且只能使用这种笨拙的效率低下的一行接一行的处理方式. ).

    • 须要多维数组的支撑.

    • 须要数据结构的支撑,比如链表或数组等数据结构.

    • 须要产生或操作图形化界面GUI.

    • 须要直接操作系统硬件.

    • 须要I/O或socket接口.

    • 须要使用库或者遗留下来的旧代码的接口.

    • 个人的, 闭源的应用(shell脚本把代码就放在文本文件中, 全球都能看到).

        每日一道理
    虽然你现在还只是一株稚嫩的幼苗。然而只要坚韧不拔,终会成为参天大树;虽然你现在只是涓涓细流,然而只要锲而不舍,终会拥抱大海;虽然你现在只是一只雏鹰,然而只要心存高远,跌几个跟头之后,终会占有蓝天。

        shell的参数

        (1)、 位置参数

        由系统提供的参数称为位置参数。位置参数的值可以用$N得到,N是一个数字,如果为1,即$1.相似C语言中的数组,Linux会把输入的命令字符串分段并给每段进行标号,标号从0开始。第0号为程序名字,从1开始就表现传递给程序的参数。如$0表现程序的名字,$1表现传递给程序的第一个参数,以此类推。

        (2)外部参数

           $#:命令行或者是位置参数的个数

           $*:全部的位置参数,被作为一个单词.注意:"$*"必须被""引用.

           $@:与$*同义,但是每一个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,并没有被解释和扩展.这也意味着,每一个参数列表中的每一个参数都被当做一个独立的单词.注意:"$@"必须被引用.

          $-:传递给脚本的falg(使用set 命令).注意:这起初是ksh 的特征,后来被引进到Bash 中,但可怜的是,在Bash 中它看上去也不能可靠的任务.使用它的一个可能的方法就是让这个脚本进行自我测试(查看是否是交互的).

         $!:在后台运行的最后的任务的PID(进程ID).

         $_:保存之前执行的命令的最后一个参数.

         $?:命令,函数或者脚本本身的退出状态

         $$:脚本自身的进程ID.这个变量经常用来结构一个"unique"的临时文件名.

    文章结束给大家分享下程序员的一些笑话语录: 程序员打油诗   
      写字楼里写字间,写字间里程序员;
      程序人员写程序,又拿程序换酒钱。
      酒醒只在网上坐,酒醉还来网下眠;
      酒醉酒醒日复日,网上网下年复年。
      但愿老死电脑间,不愿鞠躬老板前;
      奔驰宝马贵者趣,公交自行程序员。
      别人笑我忒疯癫,我笑自己命太贱;
      不见满街漂亮妹,哪个归得程序员。

    --------------------------------- 原创文章 By
    参数和位置
    ---------------------------------

  • 相关阅读:
    Python 类中方法的内部变量,命名加'self.'变成 self.xxx 和不加直接 xxx 的区别
    用foreach遍历 datagridView 指定列所有的内容
    treeView1.SelectedNode.Level
    YES NO 上一个 下一个
    正则 单词全字匹配查找 reg 边界查找 精确匹配 只匹配字符 不含连续的字符
    抓取2个字符串中间的字符串
    sqlite 60000行 插入到数据库只用不到2秒
    将多行文本以单行的格式保存起来 读和写 ini
    将秒转换成时间格式
    richtextbox Ctrl+V只粘贴纯文本格式
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3098025.html
Copyright © 2011-2022 走看看