美文网首页
shell命令1

shell命令1

作者: crossroads | 来源:发表于2020-03-03 15:58 被阅读0次

    前言

    shell的注释不是// 哦,只是习惯如此写,//后的数据均为输出或注释。
    1. 变量

    your_name="hello" //变量名和等号之间不能有空格
    echo $your_name
    echo ${your_name}
    readonly your_name //设为只读变量
    
    unset vari //unset删除非只读变量
    

    2. 单双引号的区别

    "$your_name" // hello
     '$your_name' //$your_name
     'hello ,'$your_name'' //hello,hello
    echo '$name\"' // $name\" ,原样输出字符串,用单引号
    

    3. 字符串操作

    // 字符串长度
    ${#your_name} //5
    // 提取子字符串,第二个字符到底四个字符
    ${your_name:1:4} //ello
    // 查找子字符串
    echo `expr index "$your_name" ol` // 3
    

    4. 数组

    arr_v[0]="value0"
    arr_v[2]="value2"
    echo ${arr_v[2]} //value2
    arr=('a' 'b'  'c' ) //数组元素用"空格"符号分割开
    echo ${arr[2]}  //c
    //输出数组中所有元素
    echo ${arr[@]} // a b c
    echo ${arr[*]} //a b c
    // 数组长度
    echo ${#arr[@]} //3
    echo ${#arr[*]} //3
    

    5. 注释

    // 单行注释
    # 注释
    //多行注释
    :<<EOF
    注释内容...
    注释内容...
    注释内容...
    EOF
    //EOF可以用其他符号,例如【
    :<<【
    注释内容...
    注释内容...
    注释内容...
    【
    

    6. 传递参数

    echo "执行的文件名:$0";
    
    $ chmod +x test.sh 
    $ ./test.sh //执行的文件名:./test.sh
    
    参数处理 说明
    $# 传递到脚本的参数个数
    $* 以一个单字符串显示所有向脚本传递的参数。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
    $$ 脚本运行的当前进程ID号
    $! 后台运行的最后一个进程的ID号
    $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
    如"@"用「"」括起来的情况、以"1" "2" … "n" 的形式输出所有参数。
    $- 显示Shell使用的当前选项,与set命令功能相同。
    $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

    后记

    学习网站:https://www.runoob.com/linux/linux-shell-variable.html
    运行sh命令:https://www.runoob.com/try/runcode.php?filename=helloworld&type=bash

    相关文章

      网友评论

          本文标题:shell命令1

          本文链接:https://www.haomeiwen.com/subject/zujkfhtx.html