shell脚本

shell中特殊参数的归纳整理

时光总嘲笑我的痴心妄想 提交于 2020-01-16 04:15:44
文章目录 $变量名(位置参数) 多个位置参数的传递引用 $0获取脚本文件的名字 单独获取脚本文件的路径和名称 $#获取脚本传参的个数 set设置位置参数(同命令脚本传参) 美元符*和美元符#的区别 +函数的定义+for循环的定义 shfit 自动移动位置 $变量名(位置参数) ![在这里插入图or_FFFFFF,t_70) 2. 多个位置参数的传递引用 1. 传值 $0获取脚本文件的名字 单独获取脚本文件的路径和名称 dirname 单独获取脚本文件的路径(目录 ) basename 单独获取脚本文件的文件名 2. $#获取脚本传参的个数 set设置位置参数(同命令脚本传参) 美元符*和美元符#的区别 +函数的定义+for循环的定义 $ * 和$#都表示接收列表中的所有参数,它们的区别如下: 1.此时输出相同, 2.加引号时有区别 $ * 把输入的内容按照原格式输出 当成一个整体 $@ 把原来的内容 一个一个分开输出 shfit 自动移动位置 来源: CSDN 作者: 难得 yx 链接: https://blog.csdn.net/weixin_45649763/article/details/103993012

使用shell脚本或命令行 添加crontab 定时任务

半世苍凉 提交于 2020-01-16 00:55:39
crontab 是运维过程中常用的定时任务执行工具 一般情况下在有新的定时任务要执行时,使用crontab -e ,将打开一个vi编辑界面,配置好后保存退出,但是在自动化运维的过程中往往需要使用shell脚本或命令自动添加定时任务。接下来结束三种(Centos)自动添加的crontab 任务的方法: 方法一: 编辑 /var/spool/cron/用户名 文件,如: echo "* * * * * hostname >> /tmp/tmp.txt" >> /var/spool/cron/root 优点:简单 缺点:需要root权限 方法二: 编辑 /etc/crontab 文件, echo "* * * * * root hostname >> /tmp/tmp.txt" >> /etc/crontab 需要注意的是,与常用的crontab 有点不同,/etc/crontab 需指定用名。而且该文件定义为系统级定时任务 不建议添加非系统类定时任务,编辑该文件也需要root权限 方法三: 利用crontab -l 加 crontab file 两个命令实现自动添加 crontab -l > conf && echo "* * * * * hostname >> /tmp/tmp.txt" >> conf && crontab conf && rm -f conf 由于crontab

python基础部分一

走远了吗. 提交于 2020-01-16 00:04:01
一、什么是Python? Python就是一门解释型的编程语言,而且是现在世界上最流行的编程语言之一。 二、Python发展背景 Python的作者,Guido von Rossum(吉多·范·罗苏姆),荷兰人。1982年,吉多从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,虽然拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的事情。 在那个时候,吉多接触并使用过诸如Pascal、C、Fortran等语言。这些语言的基本设计原则是让机器能更快运行。在80年代,虽然IBM和苹果已经掀起了个人电脑浪潮,但这些个人电脑的配置很低。比如早期的Macintosh,只有8MHz的CPU主频和128KB的RAM,一个大的数组就能占满内存。所有的编译器的核心是做优化,以便让程序能够运行。为了增进效率,语言也迫使程序员像计算机一样思考,以便能写出更符合机器口味的程序。在那个时代,程序员恨不得用手榨取计算机每一寸的能力。有人甚至认为C语言的指针是在浪费内存。至于动态类型,内存自动管理,面向对象…… 别想了,那会让你的电脑陷入瘫痪。 这种编程方式让吉多感到苦恼。吉多知道如何用C语言写出一个功能,但整个编写过程需要耗费大量的时间,即使他已经准确的知道了如何实现。他的另一个选择是shell。Bourne

tcsh 基本命令

ε祈祈猫儿з 提交于 2020-01-15 21:27:37
shell 是一种命令行程序, linux 用户可以通过 shell 与操作系统内核进行交互。 shell 分为好几种:sh,bash,csh,tcsh, 其中 tcsh 是 csh 的增强版,常用的两种 shell 就是 bash 和 tcsh。 一般linux 默认shell 是 bash,但是IC公司用的较多的是 tcsh,二者的语法和内建命令相差较大,关于bash,网上资料非常多,这里主要记录 tcsh 的语法和基本命令。 具体使用哪个shell 可以在脚本第一行定义: #! /bin/bash 或者 #! /bin/tcsh 查看当前默认shell 可以看环境变量 echo $SHELL tcsh 基本语法: 1. 创建字符串变量: set var = hello; set var01 = “hello world” ;echo $var # 注意等于号 创建数值变量: @ num = 101 ; @ n01 = $num * 2 ; echo $n01 # 注意用 @ 开头,且@与变量之间需留空格 2. 控制流(if while foreach ) (a). if (condition) then # 注意 if 和 then 必须写在同一行,if 条件用小括号     cmd01     cmd02 # 可以写很多行命令   else     cmd03  

shell中各种括号()、(())、[]、[[]]、{}的作用

北慕城南 提交于 2020-01-15 17:21:05
技巧小结: 字符串比较用双中括号[[ ]];算数比较用单中括号[ ]——左右留空格 算数运算用双小括号(( )) ;shell命令及输出用小括号( )——左右不留空格 快速替换用花括号{ }——左右留空格 反单引号起着命令替换的作用 单括号(): 另开命令组——小括号中的内容会开启一个子shell独立运行;括号中以分号连接,最后一个命令不需要;各命令和括号无空格 得到命令输出——a=$(command), 等同于a=$ command ,得到命令输出传递给变量a 初始化数组——array=(a b c d) 双括号(()): 省去$符号的算术运算—— for((i=0;i<5;i++)); if (($i<5)); a=5; ((a++)) 可将 $a 重定义为6;括号内支持多个表达式用逗号分开。 C语言规则运算——$((exp)),exp为符合C语言规则的运算符,表达式 跨进制运算——二进制、八进制、十六进制运算时,输出结果全都自动转化成了十进制。如:echo $((16#5f)) 结果为95 (16进位转十进制) 单中括号[ ]: 字符串比较——==和!= 整数比较——不等于:-gt:大于;-lt :小于;-eq:等于;-ne 数组索引——array[0] 双中括号[[]]: 字符串比较——可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell?

shell脚本中$!、$@、$#、$$、$0、$1、$2、$*的含义

亡梦爱人 提交于 2020-01-15 12:55:05
一、shell脚本中$!、$@、$#、$$、$0、$1、$2、$*的含义 $! :Shell最后运行的后台Process的PID(后台运行的最后一个进程的 进程ID 号) $#:添加到shell当中参数的个数 $$:Shell本身的PID(ProcessID,即脚本运行的当前 进程ID 号) $0:脚本本身的文件名 $1:传到Shell当中的第一个参数 $2:传到Shell当中的第二个参数 $*:所有参数列表。如$*用 " " 括起来的情况、以 "$1 $2 … $n" 的形式输出所有参数,此选项参数可超过9个;若不加" ",那么$*与$@的输出结果相同 $@:所有参数列表。如$@用 " " 括起来的情况、以 "$1" 、"$2"、 … "$n" 的形式输出所有参数。 脚本举例: echo "number:" $# echo "PID:" $$ echo "sname:" $0 echo "first:" $1 echo "second:" $2 echo $@ echo $* echo "" echo "==========" n=1 for i in "$@" do echo "$n : " $i let n+=1 done echo "" echo "==========" n=1 for i in "$*" do echo "$n : " $i let n+=1 done

shell脚本实现秒表功能

亡梦爱人 提交于 2020-01-15 11:45:34
#!/bin/bash M1=0 M2=0 S1=0 S2=0 while true do NUM=$(echo "${M1}${M2}:$S1$S2") echo -ne "\033[32m $NUM\b\r\033[0m" (( S2++ )) if [ $S2 -ge 10 ];then (( S1++ )) S2=0 fi if [ $S1 -ge 6 ];then (( M2++ )) S1=0 fi if [ $M2 -ge 10 ];then (( M1++ )) M2=0 fi sleep 1 done 来源: https://www.cnblogs.com/IMSCZ/p/12195652.html

case语句,循环语句

北城以北 提交于 2020-01-15 10:01:33
case语句,循环语句 vim 名字也不能乱写 比如 vim rsync.sh 应为后面需要pkill rsync 会把文件一起删掉 1.case流程控制语句 case 变量名4 in 模式匹配1) 命令的集合 ;; 模式匹配2) 命令的集合 ;; 模式匹配3) 命令的集合 ;; *) *的下一行不需要有;; echo USAGE[$0 1|2|3] esac [root@shell /server/scripts]# cat case.sh #!/bin/bash ############################################################## # File Name: case.sh # Time: 2019-11-04-09:43:18 # Author: msy ############################################################## case $1 in Linux) echo linux... ;; Shell) echo shell... ;; MySql) echo mysql... ;; *) echo "USAGE $0 [Linux|Shell|MySql]" esac [root@shell /server/scripts]# sh case.sh Linux

adb shell实现亮屏上划待机界面息屏1000次

久未见 提交于 2020-01-15 01:39:39
编写脚本实现亮屏实现亮屏上划待机界面息屏1000次,脚本内容如下: #!/bin/bash CUR_DIR=$(dirname "${BASH_SOURCE[0]}") function MAIN(){ chmod a+x ${CUR_DIR}/* for ((i=1;i<=1000;i++)) do adb shell input keyevent 26 ; adb shell input swipe 250 650 250 50 sleep 1; adb shell input keyevent 26 ; sleep 1; done } MAIN 新建sh文件,名称为shell.执行 sudo shell.sh 1.如何获取android的坐标的键值 首先打开debug模式,在设置-->开发者选项--->指针位置打开,然后点击界面,屏幕上方显示 “P:0/0 X:0/0 Y:0/0 Xv:0:0 Yv:0:0 Prs:0:0 Size:0:0”。x,y 即坐标。 2.java代码间隔执行adb shell 命令。 Timer mTimer = new Timer(); mBuilder = new ProcessBuilder(); // 周期执行点击(200ms) mTimer.schedule(new TimerTask() { @Override public void

shell脚本管理服务

故事扮演 提交于 2020-01-15 01:09:27
本地检查端口方法 netstat -lntup ss -lntup lsof i:port 远程检查端口方法 telnet ip port /nc ip port /nmap 进程检查 ps -ef/ ps aux 测试连接 ping -c1 -i1 -W1 ip|url /curl /wget -q --spider ip|url centos6 mv rsyncd.sh /etc/init.d/ chmod +x /etc/init.d/rsyncd.sh chkconfig --add rsyncd.sh cat rsyncd.sh #!/bin/bash # chkconfig: 2345 99 98 choice=$1 path=/var/run/rsyncd.pid case "$choice" in start) [ -f $path ] || rsync --daemon ;; stop) [ -f $path ] && kill `cat $path` ;; restart) [ -f $path ] && kill `cat $path` sleep 1 rsync --daemon ;; *) echo error esac 可以使用 chkconfig 服务名称 off/on 进行管理 centos7 [root@manager ~]# cat /usr