• 参数位置关于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
    参数和位置
    ---------------------------------

  • 相关阅读:
    JS 实现的年月日三级联动
    【代码总结● Swing中的一些操作与设置】
    S7通信协议之你不知道的事儿
    .NetCore程序在Linux上面部署的实现
    什么是哈希表?
    什么是队列?
    什么是栈?
    什么是数组?
    什么是数据结构?
    什么是链表?
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3098025.html
Copyright © 2020-2023  润新知