linux脚本

Shell脚本的基本命令

丶灬走出姿态 提交于 2020-02-07 23:54:54
1. 什么是Shell(计算机壳层) 在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器) 它类似于 DOS 下的command . com和后来的cmd . exe,它接收用户命令,然后调用相应的应用程序 同时它又是一种程序设计语言,作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令 作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支 在排序算法中,Shell是希尔排序的名称 简单来说,shell就是用户和系统交互的工具 1 2 3 4 5 6 1. 脚本是一种解释型语言 2. 用shell脚本来保存执行动作 3. 用脚本判定命令的执行条件 4. 用脚本来实现动作的批量执行 1 2 3 4 文字操作系统与外部最主要的接口就叫做shell,shell是操作系统最外面的一层 shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果 shell提供了你与操作系统之间通讯的方式,这种通讯可以: 以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script ( 非交互)方式执行 shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用 本质上,shell

shell scripts笔记(linux脚本)

喜你入骨 提交于 2020-02-07 18:52:51
前言 如果要选择运维,或者对linux系统有一定兴趣,我想一定要懂得shell scripts,因为这个东西真的很好用;为什么呢??那是因为: 1、自动化管理的重要依据 2、追踪与管理系统的重要工作 3、简单入侵侦测功能 4、连续指令单一化 5、简易的数据处理(大多数基于正则表达式处理) 6、跨平台支持与学习历程较短(几乎所有的 Unix Like 上面都可以跑 shell script ,连 MS Windows 系列也有相关的 script 仿真器可以用) 编写第一个shell 在 shell script 的撰写中还需要用到下面的注意事项: 指令的执行是从上而下、从左而右的分析与执行; 指令的下达就如同第四章内提到的: 指令、选项与参数间的多个空白都会被忽略掉; 空白行也将被忽略掉,并且 [tab] 按键所推开的空白同样视为空白键; 如果读取到一个 Enter 符号 ( CR ) ,就尝试开始执行该行 (或该串) 命令; 至于如果一行的内容太多,则可以使用 “ [Enter] ” 来延伸至下一行; “ # ” 可做为注解!任何加在 # 后面的数据将全部被视为注解文字而被忽略! 如何执行shell文件?通过一下几种方法: 直接指令下达: shell.sh 文件 必须要具备可读与可执行 ( rx ) 的权限 ,然后: 1、绝对路径:使用 /home/dmtsai/shell.sh

Centos开机启动脚本执行过程

蓝咒 提交于 2020-02-06 10:15:07
Centos开机启动主要过程如下: 找到系统引导分区,执行引导程序,加载内核 执行init程序 /etc/rc.d/rc.sysinit # 由init执行的第一个脚本 /etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式 ,服务器的运行级别为3 /etc/rc.d/rc.local #相应级别服务启动之后、再执行该文件(其实也可以把需要执行的命令写到该文件中) /sbin/mingetty # 等待用户登录 在Redhat/Centos中,/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括: 调入keymap以及系统字体 启动swapping 设置主机名 设置NIS域名 检查(fsck)并mount文件系统 打开quota 装载声卡模块,设置系统时钟等等。 /etc/rc.d/rc则根据其参数指定的运行模式(运行级别,你在inittab文件中可以设置)来执行相应目录下的脚本。凡是以Kxx开头的,都以stop为参数来调用;凡是以Sxx开头的,都以start为参数来调用。调用的顺序按xx 从小到大来执行。(其中xx是数字、表示的是启动顺序)例如,假设缺省的运行模式是3,/etc/rc.d/rc就会按上述方式调用 /etc/rc.d/rc3.d/下的脚本。 值得一提的是,Redhat/Centos中的 运行模式2、3

Linux-开发与管理 P1 shell编程

三世轮回 提交于 2020-02-05 13:32:20
文章目录 Linux-开发与管理 P1 shell编程 shell基础 shell简介 shell历史 命令格式 linux命令 文件文档相关 文件管理 文档编辑 文件传输 磁盘相关 网络通讯 系统设备相关 shell脚本 shell脚本基础 基础语法 变量 shell程序 说明性语句 功能性语句 结构性语句 shell函数 脚本调用 更多内容 Linux-开发与管理 P1 shell编程 shell基础 shell简介 什么是shell? Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁 Shell 既是一种 命令语言 ,又是一种 程序设计语言 Shell 是指一种 应用程序 ,这个应用程序提供了一个 界面 ,用户通过这个界面访问 操作系统内核的服务 shell 翻译成中文就是 贝壳 的意思,它就是Linux内核的一个 外层保护工具 ,并负责完成用户与内核之间的交互 shell能用来干什么? shell 是一个 命令行解释器 ,将用户命令解析为操作系统所能理解的指令,从而实现用户与操作系统的交互。同时,shell为操作系统提供了内核之上的功能,直接用来管理和运行系统。 shell历史 这是shell发展的时间图,这里主要来了解几种比较常用和熟悉的 Bourne Shell 简称 sh 由AT&T贝尔实验室的S.R.Bourne开发,也因开发者的姓名而得名

RP-PX30平台uboot编译脚本分析二:prepare 执行的make动作(1)

旧城冷巷雨未停 提交于 2020-02-03 00:42:06
prepare() { local absolute_path cmd dir count # Parse output directory 'O=<dir>' cmd=${OUTDIR%=*} if [ "${cmd}" = 'O' ]; then OUTDIR=${OUTDIR#*=} OUTOPT=O=${OUTDIR} else case $BOARD in #Help --help|-help|help|--h|-h) echo "HELP--" help exit 0 ;; # Parse from exit .config ''|elf*|trust|loader|uboot|map|sym) count=`find -name .config | wc -l` dir=`find -name .config` echo "BOARD = " $BOARD # Good, find only one .config if [ $count -eq 1 ]; then dir=${dir%/*} OUTDIR=${dir#*/} echo "dir = " $dir echo OUTDIR= $OUTDIR # Set OUTOPT if not current directory if [ $OUTDIR != '.' ]; then OUTOPT=O=$

bash-shell高级编程--条件判断

二次信任 提交于 2020-02-02 00:49:12
条件判断 每一个完整并且合理的程序语言都具有条件判断的功能,并且可以根据条件判断的结果做下一步处理, bash 中有 test 命令,有各种中括号和圆括号操作,和 if/then 结构 条件测试结构 使用 if/then 结构判断命令列表的退出码状态是否为0,如果成功的话,那么就执行接下来一个或多个命令。 有一个专有命令[(左括号,特殊字符),这个命令与test命令等价,并且处于效率上的考虑,这是一个内建命令,这个命令把它的参数作为表达式或者文件测试,并且根据比较的结果返回一个退出状态码(0表示真,1表示假) 在版本2.02的bash中,引入了 [[....]] 扩展测试命令,因为这种表现形式可能对某些语言的程序员来说更熟悉一些,注意 [[]] 是一个关键字,并不是一个命令,并且bash会将 [[ $a -lt $b ]] 看成单独的元素,并且返回一个退出状态码。 if 命令不仅可以测试中括号中的条件,可以测试任何命令 if cmp a b & > /dev/null # 禁止输出. then echo "Files a and b are identical." else echo "Files a and b differ." fi # 非常有用的"if-grep"结构: # ------------------------ if grep -q Bash file then

jdk安装脚本

ε祈祈猫儿з 提交于 2020-02-01 08:54:32
jdk安装脚本 #!/bin/bash hostnamectl set - hostname bigdata $1 yum install - y wget cd / etc / yum . repos . d mv / etc / yum . repos . d / CentOS - Base . repo / etc / yum . repos . d / CentOS - Base . repo_bak wget - O / etc / yum . repos . d / CentOS - Base . repo http: / / mirrors . aliyun . com / repo / Centos - 7 . repo yum makecache echo "192.168.8. $1 bigdata $1 " >> / etc / hosts mkdir - p / wz / bao mkdir - p / wz / bigdata cd / wz / bao tar - zxvf jdk - 8u111 - linux - x64 . tar . gz - C / wz / bao mv jdk1 . 8 . 0_111 / wz / bigdata / jdk181 echo 'export JAVA_HOME=/wz/bigdata/jdk181

说说shell脚本中的export 和 source,bash

蹲街弑〆低调 提交于 2020-02-01 03:47:21
小弟刚刚接触linux,对linux上的很多东西都比较陌生,所以写一写博客,当做自己工作的总结和技术的积累吧,也是鞭策自己不断努力的去学习。 今天之所以起这个标题,把export,source ,bash这三个命令放在一起讲,实在是因为自己做了一件蠢事。 什么样的蠢事先不说。先分析下这三个命令。 首先是export命令。 1.export命令 Linux export命令用于设置或显示环境变量。 在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。同时,重要的一点是,export的效力仅及于该次登陆操作。注销或者重新开一个窗口,export命令给出的环境变量都不存在了。 该命令的语法如下: export [-fnp][变量名称]=[变量设置值] 其中: -f  代表[变量名称]中为函数名称。 -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。 -p  列出所有的shell赋予程序的环境变量。 你可以只打出export来查看当前的所有环境变量。如果你要在某个环境变量(比如PATH)中加入一些新的路径(如/bin/bash),可以使用如下命令格式 export PATH=/bin/bash:$PATH 就OK了。 2.bash命令 像sh,bash,./命令是用来执行shell脚本的

shell、shell脚本基础案例、shell变量

安稳与你 提交于 2020-01-31 20:49:05
一、shell是用户与linux操作系统之间的一个命令解释器,shell是操作系统的最外层,shell可以合并编程语言以控制进程和文件,以及启动和控制其他程序。 不同的shell语言的语法有所不同,一般不能交换使用,最长用的shell是bash 二、shell脚本案例: hello.sh #!/bin/bash #This is my Firest shell #by author xxx 2020 echo "hello world!" #!/bin/bash 定义该脚本所使用的shell类型,添加执行权限后(chmod +x hello.sh)可以通过 ./hello.sh 执行 也可通过sh hello.sh执行 #表示注释 三、shell变量: shell为弱类型语言,定义变量不需要声明类型,通过“=”为变量赋值,通过echo $变量名进行查看,如a=123;echo $a shell变量分为系统变量、环境变量、用户变量 系统变量在对参数判断和命令返回值判断时使用,如$?,[ 2 -gt 1 ]&&echo 'yes'||echo 'no' 环境变量主要是程序运行时需要设置,输入env查看,可通过~/.bash_profile 配置,或将局部变量升级为环境变量,a=123;export a 用户变量又称为局部变量,多在shell脚本内或临时使用 shell编程常见系统变量为

shell脚本基础

帅比萌擦擦* 提交于 2020-01-31 09:04:55
shell简介:shell是一种脚本语言,可以使用逻辑判断、循环等语法,可以自定义函数,是系统命令的集合 文章目录 shell脚本结构和执行方法 date命令的用法 shell中变量的用法 shell逻辑判断语法 if判断文件或目录的属性 if判断的一些特殊用法 shell中case判断用法 for、while循环 break、continue、exit shell中的函数 shell中的数组 shell脚本结构和执行方法 1.shell脚本开头需要加#!/bin/bash 2.以#开头的行作为注释 3.脚本的名字以.sh结尾,用于区分这是一个shell脚本 4.执行方法有两种: 1)bash test.sh 2)./test.sh #第二种执行方式需要有执行权限(chmod +x test.sh) 5.查看脚本执行过程:bash -x test.sh 6.查看脚本是否语法错误:bash -n test.sh #bash可以使用sh命令代替(在/usr/bin目录下,sh是bash的软连接文件) date命令的用法 年月日: [root@linux ~]# date 2019年 11月 19日 星期二 16:20:04 CST [root@linux ~]# date +%Y-%m-%d 2019-11-19 [root@linux ~]# date +%Y 2019 [root