美文网首页
Shell脚本操作-3

Shell脚本操作-3

作者: 做个合格的大厂程序员 | 来源:发表于2020-06-01 18:25 被阅读0次

    文件包含

    1. 加入要在文件B中包含文件A,则可以直接调用fileA的目录即可,例如fileA和fileB同在一个目录下
    ./fileA.sh
    echo "我是fileB"
    
    1. 在引用路径前加source
    source fileA.sh
    echo "我是fileB"
    

    cat命令

    cat的主要作用

    1. 去查看文件内容,
    2. 连接文件,
    3. 创建一个或多个文件,
    4. 重定向输出到终端,
    5. 重定向到文件。

    基本语法

    cat [选项] [文件]

    例如要查看fileA的内容,我们可以在终端输入

    cat fileA.sh 
    

    选项

    -n 可以显示文件内容和行号
    -b 只显示非空白行
    -e 在每一行后面增加$符号,把多行内容转换为一行的时候,就会有用

    cat -n fileA.sh
    cat -b fileA.sh
    cat -e fileA.sh
    

    单独输入cat

    接收标准输入,同时还会输出标准输出(敲回车即可),control+c 直接退出。

    获取用户输入内容 read

    接收一个输入内容

    写法一:

    echo "请输入您的名字:"
    read name
    echo "您的名字是:${name}"
    

    写法二:

    read -p "请输入您的名字:" name
    echo "您的名字是:${name}"
    

    用户输入超时

    设置时间 -t + 时间

    if read -t 3 -p "请输入您的名字:" name
    then
        echo "您的名字是:${name}"
    else
        echo
        echo "输入超时"
    fi
    

    类似密码的自我隐藏保护

    -s表示隐藏输入密码

    read -s -p "请输入你的密码:" pwd
    echo
    echo "您的密码是:${pwd}"
    

    从文件里面读取每一行内容

    可以比拼接写法

    cat fileA.sh | while read str
    do
        echo "内容是:${str}"
    done
    

    printf 命令

    不换行

    printf 和 echo的区别之一就是echo会自动换行而printf则不会

    echo "hello"
    printf "world"
    
    输出
    hello
    world
    

    用于格式打印

    语法格式

    printf fomat-string 参数列表

    例如

    printf "%-10s %-8s %-4s \n" 姓名 性别 体重kg
    printf "%-10s %-8s %-4s \n" andy 男 65kg
    printf "%-10s %-8s %-4s \n" jar 男  64kg
    printf "%-10s %-8s %-4s \n" leon 男 100kg
    
    注:%-10表示一个宽度为10的字符,"-"表示左对齐
    

    打印特定的字符

    例如 %d 表示整数 %s 表示字符串

    printf "%d %s \n" 1 "dream"
    
    输出结果 1 dream 
    

    函数

    语法结构

    [function] 方法名称(){
    逻辑代码
    }
    
    调用函数名称
    

    例如我们要实现一个方法

    function test(){
        echo "hello world!"
        echo "第一个参数:$0"   
        echo "第二个参数:$1"
        echo "第三个参数:$2"
    }
    
    调用test
    

    输入/输出的重定向

    输入重定向

    语法结构:

    wc 名称

    wc fileA.sh
    

    会读到三个参数

    1. 文本行数
    2. 文本词数
    3. 文本字节数

    输出重定向

    1)echo原本是输出到控制台,但是我们在加入了>之后可以重定向到指定文件,也就是替换覆盖。

    echo "hello world" > fileA.sh
    

    2)>>追加

    echo "hello world" >> fileA.sh
    

    相关文章

      网友评论

          本文标题:Shell脚本操作-3

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