美文网首页
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