SHELL脚本初体验(Linux网络服务器 22)

1 shell

shell是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用。

shell脚本就是将命令写入文本中,文本可以被执行。

脚本:本质是一个文件,文件里面存放的是特定格式的指令,系统可以使用脚本解析器 翻译或解析文件内部的指令并执行(它不需要编译)

解析器

查看自己linux系统的默认解析:

bash 复制代码
echo $SHELL

bash 复制代码
ls /bin |grep sh

2 shell语法

  • 定义以开头:#!/bin/bash其中!用来声明脚本由什么shell解释,否则使用默认shell
  • 单个"#"号代表注释当前行
  • 文件执行权限添加 chmod +x sh01.sh
  • 运行: ./sh01.sh 或者. sh01.sh 或者shsh01.sh
案例1

描述:终端输入您的姓(英文),然后在输入名(英文),最后输出你的全名。

bash 复制代码
#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH
read -p "please input your first name:" firstname
read -p "please input your last name:" lastname
echo -e "\nYour full name is:" $firstname $lastname

案例2

描述:利用shell脚本,自动创建三个文件,第一个文件的日期位两天前,第二个文件日期为一天前,最后一个文件为今天。

bash 复制代码
#!/bin/bash

echo -e "I will use 'touch' command to create 3 files.\n"
read -p "Please input your filename:" fileuser
filename=${fileuser:-"filename"}

date1=$(date --date='2 days ago' +%Y%m%d)
date2=$(date --date='1 days ago' +%Y%m%d)
date3=$(date +%Y%m%d)
echo $date1
echo $date2
echo $date3
file1=${filename}${date1}
file2=${filename}${date2}
file3=${filename}${date3}

echo $file1
echo $file2
echo $file3
touch "$file1"
touch "$file2"
touch "$file3"

数值计算

描述:输入两个数字,计算他们的乘积。

bash 复制代码
#!/bin/bash

echo -e "Your should input 2 numbers, I will cross them!\n"
read -p "first nu: " firstnu 
read -p "sec  nu: " secnu 
total=$(($firstnu*$secnu))
echo -e "\nThe result of $firstnu*$secnu is ==> $total" 

相关推荐
m0_5127446413 分钟前
Nginx(详解以及如何使用)
运维·服务器·nginx
小丑西瓜6661 小时前
分布式简单理解
linux·redis·分布式·架构·架构演变
高hongyuan1 小时前
计算机网络
linux·计算机网络
EPSDA2 小时前
Linux线程池
linux·运维·服务器·开发语言·c++
我爱蛋蛋后2 小时前
Linux驱动开发之音频驱动与基础应用编程
linux·c语言·驱动开发·音视频
真正的醒悟3 小时前
H3C交换机&路由器&防火墙FTP/TFTP服务器搭建。
服务器·网络·智能路由器
你好呀我是裤裤3 小时前
Linux基础开发工具的使用(apt、vim、gcc、g++、gdb、make、makefile)
linux·运维·vim
不修×蝙蝠3 小时前
Tomcat理论(Ⅰ)
java·服务器·java-ee·tomcat
望获linux3 小时前
如何在望获实时 Linux & 京博航友善 NanoPC-T6 上部署 Docker
linux·运维·服务器·docker·eureka·开源软件
wangchen_03 小时前
linux编译器和自动化构建工具(gcc与Makeile)
linux·运维·服务器