Bash shell脚本编程快速入门-Hello World+重定向清理日志

  • [ √] 技术前提: Linux 和 Vim 编辑器基础

高级 Bash 脚本编程指南_Linux - 蓝桥云课 https://www.lanqiao.cn/courses/944

Bash 之 Hello World

vim hello.sh

使用 vim 编辑 hello.sh,输入如下代码并保存:

#!/bin/bash
# This is a comment
echo Hello World

运行 Bash 脚本的方式:

# 使用shell来执行
sh hello.sh

# 使用bash来执行
bash hello.sh

# 使用.来执行
. ./hello.sh

# 使用source来执行
source hello.sh

# 还可以赋予脚本所有者执行权限,允许该用户执行该脚本
chmod u+rx hello.sh
./hello.sh

使用重定向

比如我们想要保存刚刚的 hello world 为一个文本,那么该怎么办呢?

这个符号是重定向,执行以下代码,就会在当前目录下生成一个 my.txt。打开看看有没有 hello world

 #!/bin/bash
 echo "Hello World" > my.txt

使用脚本清除 /var/log 下的 log 文件
首先我们看一看 /var/log/dpkg.log 里面有啥东西。

cat /var/log/dpkg.log

这个文件中记录了我们使用 apt 安装的软件包的一些信息,现在我们需要写一个脚本把里面的东西清空,但是保留文件。

vim cleanlogs.sh

说明:

/dev/null 这个东西可以理解为一个黑洞,里面是空的(可以用 cat 命令看一看)。

#!/bin/bash

# 初始化一个变量
LOG_DIR=/var/log

cd $LOG_DIR

cat /dev/null > dpkg.log

echo "Logs cleaned up."

exit

运行脚本前,先使用

 sudo chmod +x cleanlogs.sh 

授予脚本执行权限,然后再看看 /var/log/dpkg.log 文件内是否有内容。运行此脚本后,文件的内容将被清除。

执行:

由于脚本中含有对系统日志文件内容的清除操作,这要求要有管理员权限.不然会报 permission denied 错误。使用 sudo 命令调用管理员权限才能执行成功:

sudo ./cleanlogs.sh

挑战:简单的热身

挑战规则:

  1. 仔细阅读题目描述,在实验环境中完成任务
  2. 完成任务后点击步骤右下角的提交检测按钮
  3. 系统自动评测并给出是否通过的信息

步骤一
新建一个 test.sh 输出 Hello Shiyanlou!

#!/bin/bash
echo "Hello Shiyanlou!"

步骤二
复制 test.sh 为 test2.sh

cp test.sh test2.sh

修改 test2.sh 实现将 Hello Shiyanlou 保存为 my.txt 文本

#!/bin/bash
echo "Hello Shiyanlou!" > my.txt

步骤三
新建一个 cleantest.sh 脚本运行实现清空 test.sh 里的内容

#!/bin/bash
cat /dev/null > test.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值