02 shell 脚本简介基本特性

本文介绍了Bash Shell的基本特性,包括命令和文件自动补全、常用快捷键以及如何通过Shell脚本来自动化任务。详细讲解了Shell脚本的创建、执行方法和基本语法,提供了脚本示例,如创建用户和管理文件。同时,讨论了脚本执行的不同方式,包括标准和非标准方法,并提到了`source`和`.`命令的用途。
摘要由CSDN通过智能技术生成

1.bash shell基本特性

知己知彼方可百战百胜,如何应用Bash shell,我们先看看他的特性,有助于我们快速应用。

1.1、 命令和文件自动补全

Tab只能补全命令和文件 (RHEL6/Centos6)

1.2、 常见的快捷键—提升操作熟练度

^c    终止前台运行的程序
^z    将前台运行的程序挂起到后台
^d    退出 等价exit
^l    清屏 
^a |home   光标移到命令行的最前端
^e |end   光标移到命令行的后端
^u    删除光标前所有字符
^k    删除光标后所有字符
^r   搜索历史命令

 

3、shell脚本介绍
shell脚本是什么

简单来说就是将需要完成某个任务所执行的命令按照执行顺序保存到文本中,并给予执行权限。

按照顺序执行。

它是解释型的,意味着不需要编译。

准确来说

若干命令 + 脚本的基本格式 + 脚本特定语法 + 思想= shell脚本

脚本命令演示
创建一个用户:harry     useradd harry
密码设置为:yunwei.98989 echo "yunwei.98989"|passwd --stdin harry
该用户创建文件夹/tmp/zutuanxue   mkdir /tmp/zutuanxue
该用户创建文件/tmp/zutuanxue/README  touch /tmp/zutuanxue/README
将“hello world“输入到/tmp/zutuanxue/README  echo 'hello world' > /tmp/zutuanxue/README

实现代码 01_task.sh
#!/bin/bash

#DESC: this is a test script 
#AUTHOR: Bai Shuming
#RELEASE: 1.0

#main 

#创建用户harry
useradd harry

#设置用户密码 yunwei.98989
echo "yunwei.98989"|passwd --stdin harry


#使用harry创建文件夹,文件,输入文件中内容
su - harry -c "mkdir /tmp/zutuanxue"
su - harry -c "touch /tmp/zutuanxue/README"
su - harry -c "echo 'hello world' > /tmp/zutuanxue/README"

 4、shell脚本语法

  • shell脚本组成

shell程序组成.png

  • 脚本命名
    nginx_install.sh 脚本名称 脚本扩展名 .sh
    名字不要太长 26个字节内
  • 代码规范:
1、#!/bin/bash
//脚本第一行, #!魔法字符,指定脚本代码执行的程序。即它告诉系统这个脚本需要什么解释器来执行,也就是使用
哪一种Shell

2、#代表注释,#!特例 

3、//以下内容是对脚本的基本信息的描述,大家可以根据实际情况尽可能的写详细一些,方便后续使用者
# Name: 脚本名字
# Desc:描述describe
# Path:存放路径
# Usage:用法
# Update:更新时间
# Author:作者
# Release: 分发版本

//下面就是脚本的具体内容
commands
...

 

  • 脚本执行方法:
    – 标准脚本执行方法(建议):
[root@skq shell01]# cat 1.sh 
#!/bin/bash
#xxxx
#xxx
#xxx
hostname
date
[root@skq shell01]# chmod +x 1.sh 
[root@skq shell01]# ll
total 4
-rwxr-xr-x 1 root root 42 Jul 22 14:40 1.sh
[root@skq ]# /shell/shell01/1.sh 
zutuanxue
Sun Jul 22 14:41:00 CST 2018
[root@skq shell01]# ./1.sh 
zutuanxue
Sun Jul 22 14:41:30 CST 2018

 

– 非标准的执行方法(不建议):

[root@skq shell01]# bash 1.sh 
zutuanxue
Sun Jul 22 14:42:51 CST 2018
[root@skq shell01]# sh 1.sh
zutuanxue
Sun Jul 22 14:43:01 CST 2018
[root@skq shell01]# 
[root@skq shell01]# bash -x 1.sh
+ hostname
zutuanxue
+ date
Sun Jul 22 14:43:20 CST 2018

-x:一般用于排错,查看脚本的执行过程
-n:用来查看脚本的语法是否有问题

注意:如果脚本没有加可执行权限,不能使用标准的执行方法执行,bash 1.sh

其他:
[root@skq shell01]# source 2.sh
server
Thu Nov 22 15:45:50 CST 2018
[root@skq shell01]# . 2.sh
server
Thu Nov 22 15:46:07 CST 2018

source 和 . 表示读取文件,执行文件里的命令

– 命令式脚本执行方法:

定义命令路径变量  PATH
PATH=$PATH:脚本路径

备注:脚本必须给执行权限

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尼古拉斯-kq

支持一下,感谢!!!!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值