zoukankan      html  css  js  c++  java
  • shell学习笔记1

    脚本:一个Shell脚本主要由原本需要在命令行输入的命令组成(用户可以使用脚本来把一些常用的操作组合成一组序列)。

    脚本语言:主要用来书写脚本的语言。

     

    linux中shell变量$#,$@,$0,$1,$2的含义解释:
    $$ 
    Shell本身的PID(ProcessID) 
    $! 
    Shell最后运行的后台Process的PID 
    $? 
    最后运行的命令的结束代码(返回值) 
    $- 
    使用Set命令设定的Flag一览 
    $* 
    所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 
    $@ 
    所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 
    $# 
    命令行上参数个数,但不包括shell脚本名本身
    $0 
    Shell本身的文件名 
    $1~$n 
    添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 

    标准文件名                       文件描述字
    •  标准输入文件(stdin)        0 
    •  标准输出文件(stdout)      1
    •  标准出错输出文件(stderr) 2

    重定向:

    结果重定向(>)和结果附加重定向(>>)有什么区别?

    > 会清除重定向的文件的内容 >>则不会只会附加

    ?即时文件定向符
    命令 [参数]<<  标记符
    输入行

    标记符
    注意:标记符要成对出现
    例如:
    mail $1 <<  !!
    Best wishes to you on your birthday .
    !!

    用户定义的Shell变量
    $ names="Zhangsan Lisi Wangwu"
    $ echo $names


    read命令
    从键盘上读取数据
    read 变量1 [ 变量2 …]

    echo命令 显示其后的变量值或者直接显示它后面的字符串

    echo -n 字符串 其中选项n表示输出文字后不换行;

    stty -echo 设置命令不被显示    stty echo 取消不显设置

    位置变量

    ?通过命令行上对应的实参传值

    ?用set命令对位置参数赋值

    使用环境变量
    如果要使用环境变量或其它shell变量的值,必须在变量名之前加上一个“$”符号,不能直接使用变量名。
    如:cd $HOME

    利用export命令将这些变量输出,使它们成为公用量。如:
    export HOME HZ LOGNAME TERM

    条件测试
    a) test 命令
    b) 用一对方括号将测试条件括起来
    例如,测试位置参数$1是否是已存在的普通
    文件,可写为:
    test -f "$1"
    或:[ -f "$1" ]

    if test - f "$1"
    then pr $1
    elif test - d "$1"
    then ( cd $1 ; pr * )
    else echo "$1 is neither a file nor a
    directory ."
    fi

    case语句允许进行多重条件选择:
    case 字符串 in
    模式字符串1 ) 命令

    命令;;
    模式字符串2
    命令;;
    模式字符串2 ) 命令

    命令 ;;

    模式字符串n ) 命令

    命令;;
    esac

    'basename $0'放在双引号内可打印脚本文件名

    单词:

    parameter是指函数定义中参数,而argument指的是函数调用时的实际参数。

    subdirectory 子目录

    Bash (GNU Bourne-Again Shell) 是许多Linux发行版的默认Shell

    其他:

    $history 50 显示最后50行历史命令

    tab键 自动补全命令

    Ctrl + l       清屏,相当于执行clear命令

  • 相关阅读:
    初创团队的技术选择
    敏捷大数据流程
    深入分析Java Web技术内幕(修订版)
    重构大数据统计
    Robot Framework学习笔记(十一)------ 分层设计
    Robot Framework学习笔记(十)------Selenium2Library库
    Robot Framework学习笔记(九)------创建资源和用户关键字
    Robot Framework学习笔记(八)------ride标签使用
    robotframework学习笔记(七)------筛选执行用例
    chromedriver与chrome版本映射列表
  • 原文地址:https://www.cnblogs.com/coding-gaga/p/5944084.html
Copyright © 2011-2022 走看看