shell脚本(1)-shell介绍
一、shell介绍
1、什么是shell
shell是c语法编写的,是用户和liunx内核沟通的桥梁,即是命令语法,也是解释性编程语言。
内核处理的都是二进制,而用户处理的都是高级语法,系统开发人员可以通过shell快速操作计算机。

二、shell功能
1、解析你的命令
[root@localhost ~]# echo "helloword"
helloword
2、启动程序
[root@localhost ~]# redis-server /myredis/redis.conf
[root@localhost ~]# ps -ef | grep redis
root 2111 1 0 01:13 ? 00:00:28 redis-server *:6379
root 2501 2469 0 05:53 pts/0 00:00:00 grep --color=auto redis
3、输入输出重定向
[root@localhost ~]# wc -c < testmail.txt
27
[root@localhost ~]# echo "helloworld" >> test0716.txt
4、管道连接
[root@localhost ~]# echo "hello world" | sed 's/world/亲/'
hello 亲
5、文件名置换(echo /*)
[root@localhost ~]# echo ${user-root}
root
[root@localhost ~]# user="bktest"
[root@localhost ~]# echo $? #判断上一条命令是否执行成,0代表成功
0
6、变量维护
[root@localhost ~]# echo $USER #当前用户
root
[root@localhost ~]# echo $USER #当前用户
root
7、环境控制
[root@localhost ~]# echo $HOME #用户登录的目录
/root
[root@localhost ~]# echo $UID #用户标识
0
8、shell编程
#!/bin/sh
seconds_left=15
echo "请等待${seconds_left}秒……"
while [ $seconds_left -gt 0 ];do
echo -n $seconds_left
sleep 1
seconds_left=$(($seconds_left - 1))
echo -ne "\r \r" #清除本行文字
done
echo "done!"
输出倒计时15秒
三、shell脚本精髓
shell脚本就是将完成一个任务的所有命令按照执行的先后顺序,自上而下写入一个文本文件中,然后给予执行权限。
举例示范:
[root@localhost test0717]# vim nginx_intall.sh #写入shell脚本
#!/usr/bin/bash
#下载依赖
yum -y install wget gcc pcre-devel zlib-devel
#下载nginx
wget http://nginx.org/download/nginx-1.16.0.tar.gz
#解压缩
tar xf nginx-1.16.0.tar.gz
#进入目录
cd nginx-1.16.0
#配置安装
./configure --prefix=/usr/local/nginx
make
make install
[root@localhost test0717]# chmod +x nginx_intall.sh
[root@localhost test0717]# ./nginx_intall.sh
nginx安装成功,验证并启动
... ...
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html' \
|| cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' \
|| mkdir -p '/usr/local/nginx/logs'
make[1]: Leaving directory `/root/test0717/nginx-1.16.0'
[root@localhost test0717]# cd /usr/local/nginx/
[root@localhost nginx]# ls
conf html logs sbin
[root@localhost nginx]# ./sbin/nginx
[root@localhost nginx]# ps -ef|grep nginx
root 109211 1 0 06:41 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 109212 109211 0 06:41 ? 00:00:00 nginx: worker process
root 109214 103997 0 06:41 pts/0 00:00:00 grep --color=auto nginx
shell脚本(1)-shell介绍的更多相关文章
- shell脚本编程基础介绍
Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果 ...
- shell脚本学习—Shell执行脚本
Shell作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行这一条,这种方式称为交互式,但还有另一种执行命令的方式称为批处理方式,用户事先写一个Shell脚本,Shell可以一次把这些命 ...
- shell脚本的函数介绍和使用案例
#前言:今天我们来聊聊shell脚本中的函数知识,看一下函数的优势,执行过程和相关的使用案例,我们也来看一下shell和python的函数书写方式有什么不同 #简介 .函数也具有别名类似的功能 .函数 ...
- linux crontab定时任务运行shell脚本(shell执行sql文件)
https://www.cnblogs.com/tiankongjava/p/6106743.html 今天做个linux定时任务(每晚12点把表汇总). 顺便写个博客记录一下~~ 为什么用linux ...
- (十四)、shell脚本之shell基础(上)
一.shell脚本介绍 1.使用脚本的原因 其中使用脚本的一个最主要的原因是因为一个字"懒",在处理自动循环或者大的任务方面可以偷懒且省时间,如果有处理一个任务的命令清单,一个任务 ...
- Mac 上使用 Shell 脚本 + adb shell 实现简单的 Android 模拟点击自动化测试
需求 在 A 界面,点击跳转到 B 界面(该界面会执行一些业务),再点击返回键出现 Dialog 弹窗,点击确认退出按钮,返回 A 界面.不断循环. 思路 一开始想到的就是按键精灵,下了 mac 版使 ...
- 【shell脚本】shell脚本实现的 函数差集查找
文本地址 点击关注微信公众号 wenyuqinghuai 分享提纲: 1. 问题背景 2. 代码实现 1.问题背景 在做公司的测试的自动化测试时,覆盖了一些开发代码的函数,但是那些还没有做,使用一个函 ...
- Shell脚本、Shell脚本结构、date命令的用法、变量
1.Shell脚本: shell是一种脚本语言 目的:可以实现自动化运维,能大大增加运维的效率.2.Shell脚本结构: #!/bin/bash 以#!/bin/bash开头,即以/bin/ba ...
- gitlab webhook php exec 调用 shell 脚本。shell 脚本中调用 git pull 命令无法执行。
情况如下: 我在ubuntu server 14.04 上面安装了gitlab,来托管项目代码.然后想通过gitlab的web hook 功能来做测试服务器代码自动化更新代码功能.现在遇到一个问题:就 ...
- [Android]Recovery调用外部Shell脚本,Shell脚本使用ui_print方法
busybox_bin=/sbin/busybox # 获取PIPE get_outfd(){ | $busybox_bin grep -q 'pipe'; then else local all_p ...
随机推荐
- [ABC248G] GCD cost on the tree
Problem Statement You are given an undirected tree with $N$ vertices. Let us call the vertices Verte ...
- 一招MAX降低10倍,现在它是我的了
一.背景 性能优化是一场永无止境的旅程. 到家门店系统,作为到家核心基础服务之一,门店C端接口有着调用量高,性能要求高的特点. C端服务经过演进,核心接口先查询本地缓存,如果本地缓存没有命中,再查询R ...
- Head First Java学习:第十一章-异常处理
第十一章 异常处理 1.方法可以抓住其他方法所抛出的异常:异常总是丢回给调用方 有风险.会抛出异常的程序代码: 负责声明异常:创建Exception对象并抛出 调用该方法的程序代码: 在try中调用程 ...
- 大模型那么火,教你一键Modelarts玩转开源LlaMA(羊驼)大模型
本文分享自华为云社区<大模型那么火,教你一键Modelarts玩转开源LlaMA(羊驼)大模型>,作者:码上开花_Lancer . 近日, LlaMA(羊驼)这个大模型再次冲上热搜! LL ...
- Cloudeye对接Prometheus实现华为云全方位监控
本文分享自华为云社区<Cloudeye对接Prometheus实现华为云全方位监控>,作者:可以交个朋友 . 一. 背景 云眼系统Cloudeye服务为我们提供了针对弹性云服务器.宽带等资 ...
- MySQL 事务的基础知识
事务的基础知识 1. 数据库事务概述 事务是数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库中的数据始终保持 一致性,同时我们还能通过事务的机制 恢复到某个时间地点的数据,这样可以保证已 ...
- 从零玩转设计模式之外观模式-waiguanmos
title: 从零玩转设计模式之外观模式 date: 2022-12-12 15:49:05.322 updated: 2022-12-23 15:34:40.394 url: https://www ...
- 【笔记】springSecurity-OAuth2.0-授权模式演示
SpringSecurityOauth2架构 介绍 流程: 用户访问,此时没有Token.Oauth2RestTemplate会报错,这个报错信息会被Oauth2ClientContextFilter ...
- 一键打包,随时运行,Python3项目虚拟环境一键整合包的制作(Venv)
之前我们介绍了如何使用嵌入式 Python3 环境给项目制作一键整合包,在使用嵌入式 Python 环境时,通常是作为另一个应用程序的一部分,而Python3虚拟环境是为了在开发过程中隔离项目所需的 ...
- Unity3d_Rewired官方文档翻译:概念(一):InputManager、Players、Actions
仅翻译了官方文档中的Essentials(要点).Concepts(概念)两部分,这是文档中最重要的部分,理解了这两部分的内容应该足以让你将Rewired运用到你的项目中,之后再去阅读文档的其他部分也 ...