美文网首页
Bash Shell 内置变量命令

Bash Shell 内置变量命令

作者: August________ | 来源:发表于2019-11-16 15:34 被阅读0次

    Bash Shell 内置变量命令

    • 常用的内置命令:echo、eval、exec、export 、read 、shift

    echo在屏幕上输出信息

    • 常用参数
    参数选项 说明
    -n 不换行输出
    -e 解析转义字符
    转义字符
    \n 换行
    \r 回车
    \t 制表符
    \b 退格
    \v 纵向制表符
    • 案例
    # echo shell;echo bash
    shell
    bash
    # echo -n shell;echo bash
    shellbash
    [root@lhf test]# echo "shell\tbash\nshell\tbash"
    shell\tbash\nshell\tbash
    [root@lhf test]# echo -e "shell\tbash\nshell\tbash"
    shell   bash
    shell   bash
    # printf "shell\tbash\nshell\tbash\n"
    shell   bash
    shell   bash
    [root@lhf test]# echo -e "1\b23"
    23
    [root@lhf test]# printf  "1\b23\n"
    23
    [root@lhf test]# echo -e "1\b23"
    23
    [root@lhf test]# printf  "1\b23\n"
    23
    
    

    eval

    • 功能:当执行eval语句时,shell读入参数args,将它们组合成一个新命令

    • 案例

    [root@lhf test]# cat novel.sh 
    echo \$$#
    [root@lhf test]# bash novel.sh 1 2
    $2
    [root@lhf test]# cat eval.sh
    eval "echo \$$#"
    [root@lhf test]# bash eval.sh 1 2
    2
    
    
    

    exec

    • exec命令可以在不创建新的子进程的前提下,转去执行指定的命令,当指定命令执行完毕之后,该进程终止
    [root@lhf test]# su - lhf
    [lhf@lhf ~]$ exec date
    Sat Nov 16 23:05:38 CST 2019
    [root@lhf test]#
    
    • 当exec打开文件时,read命令每次都会将文件指针移动文件的下一行进行读取,直到文件结尾。
    [root@lhf test]# seq 5 > /tmp/tmp.log
    [root@lhf test]# cat exec.sh 
    exec < /tmp/tmp.log
    while read line
    do
        echo $line
    done
    echo ok
    [root@lhf test]# bash exec.sh 
    1
    2
    3
    4
    5
    ok
    
    

    read

    • 功能:从标准输入读取字符串等信息,传给shell程序的内部定义变量。

    shift

    • 功能:按照定义方式重新命名所有位置参数变量,比如2变成1,3变成2,
    [root@lhf test]# bash shift.sh 1 2
    1 2
    2
    [root@lhf test]# cat shift.sh 
    echo  $1 $2
    if [ $# -eq 2 ];then
        shift
        echo $1
    fi
    [root@lhf test]# bash shift.sh 1 2
    1 2
    2
    
    
    

    相关文章

      网友评论

          本文标题:Bash Shell 内置变量命令

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