shell脚本编程之expect
一.expect概述1.expect介绍expect 是由Don Libes基于Tcl( Tool Command Language )语言开发的,主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程如:ssh登录,ftp登录等写在一个脚本上,使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管...
2024-01-10shell脚本编写俄罗斯方块
网上看到的一个用linux的shell脚本写的俄罗斯方块。共享一下。原作者信息在脚本的注释中有。下载地址:点击下载代码:#!/bin/bash # Tetris Game # 10.21.2003 xhchen<[email]xhchen@winbond.com.tw[/email]> #APP declaration APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" #颜色定义 cRed=1 cGreen=2 cYellow=3 cBlue=4 cFuch...
2024-01-10Shell脚本编程之判断语句
一、单分支if语句格式:if 判断条件;thenstatement1statement2...fi二、双分支的if语句格式:if 判断条件; thenstatement1statement2...elsestatementN...fi使用一个以前用过的脚本来说明这个结构。三、多分支if语句格式:if 判断条件1;thenstatement1...elif 判断条件2; thenstatement2...elif 判断条件3; thenst...
2024-01-10Shell脚本编程之逻辑运算符
1.逻辑运算符;逻辑运算符实例:a=10b=20if [ $a != $b ]then echo "$a !=$b:a != b"else echo "$a !=$b:a = b"fiif [ $a -lt 100 -a $b -gt 15 ]then echo "$a 小于 100 且 $b 大于 15 : 返回 true"else echo "$a 小于 100 且 $b 大于 15 : 返回 false"fiif [ $a -lt 100 -o $b -gt 100 ]then echo "$a 小于...
2024-01-10shell 脚本接收输入
类似Yeoman构建的这种提示,用户可以按上下方向键移动光标,空格键选择,可以多选,这种功能怎么实现呢?本人前端,如果能用shell脚本或者Node.js实现更好!回答:了解不多,或许你可以看看ncurses这个库,nodejs里面也应该有绑定阿之类的类似的东西 。。...
2024-01-10shell脚本编程练习[操作系统入门]
转至:http://www.178linux.com/884061、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态在线的主机使用绿色显示不在线的主使用红色显示#!/bin/bash#for i in {1..254};doif ping -c 6 -w 1 192.168.1.$i &> /dev/null;thenecho -e “33[32m 192.168.1.$i 33[0m is up”elseecho -e “33[31m 192....
2024-01-10shell脚本启动或关闭应用进程
开篇本文讲述的是通过 shell 脚本管理服务器 上的应用程序,即启动或关闭应用程序。现应用在公司的一个 flask 项目上,可以保证功能可用,但不能保证这是最优解。因为我也并非运维人员,整个脚本也是对着 shell 语法,一点一点拼出来的,完整脚本直接看文末即可。正文单独用命令管理应用程序...
2024-01-10Bash脚本编程之数组
数组简介在bash脚本编程当中,变量是存储单个元素的内存空间;而数组是存储多个元素的一段连续的内存空间。数组由数组名和下标构成,如下。ARRAY_NAME[SUBSCRIPT]数组按照下标的类型可分为两种:索引(indexed)数组:下标为0、1、2等非负整数。关联(associative)数组:下标为用户自定义的字符串...
2024-01-10我的shell脚本在执行后停止
我正在写一个如下的shell脚本: for i in $ACTIONS_DIR/* do if [ -x $i ]; then exec $i nap fi done现在,我想要实现的是列出$ ACTIONS_DIR中的每个文件以执行该文件。$ ACTIONS_DIR下的每个文件都是另一个Shell脚本。现在,这里的问题在于,使用exec之后,脚本将停止并且不会转到下...
2024-01-10shell脚本之十四:企业案例
十四、企业实战案例(一)使用for循环在/oldboy目录下批量创建10个html文件,其中文件名包含10个随机小写字母加固定字符串0ldoby。思路分析,产生随机数字方法:①核心是创建10个随机小写字母。方法1:echo $RANDOM 范围是0-32767openssl rand -base64 100方法2:date +%s%N方法3:head /dev/urandom/cksum方法4:uu...
2024-01-10第九周shell脚本编程练习[操作系统入门]
转至:http://www.178linux.com/888381、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;2、写一个脚本(1) 获取当前主机的主机名,保存于hostname变量中;(2) 判断此变量的值是否为localhost,如果是,则将当前主...
2024-01-10Powershell实现编写和运行脚本
一个Powershell仅仅是一个包含Powershell代码的文本文件。如果这个文本文件执行,Powershell解释器会逐行解释并执行它的的语句。Powershell脚本非常像以前CMD控制台上的批处理文件。您可以通过非常简单的文本编辑工具创建Powershell脚本。通过重定向创建脚本如果您的脚本不是很长,您甚至可以直接在控制...
2024-01-10Bash脚本编程之算术运算
简介Bash所支持的算术运算和C语言是一样的,这里指的是操作符(operator)以及它们的优先级(precedence)、结合性(associativity)和值,详见Shell Arithmetic (Bash Reference Manual)。注意:如果乘号“*”在某些场景中失效,有可能是它被解释成了通配符,可尝试对其转义。1+2=3在上面这个简单的算术运算中,1...
2024-01-10磁盘管理及shell脚本编程练习[操作系统入门]
转至:http://www.178linux.com/884051、创建一个10G分区,并格式为ext4文件系统a) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;~]# mke2fs –t ext4 –b 2048 –m 2 –L MYDATA /dev/sda3b) 挂载至/data/madata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;~]# mount ...
2024-01-10Shell脚本杀掉除自己外的旧进程
Shell脚本杀掉除自己外的旧进程在写后台Shell脚本的时候,这是比较常见的一个需求。比如之前运行了一个叫做a.sh的脚本在后台运行,后来更新了a.sh脚本想重新运行,但却不想手动杀掉已经存在的后台a.sh进程。命令其实非常简单:kill $(pgrep -f "${0//./\.}" | grep -v $BASHPID) &>/dev/null其中pgrep -f $0 | grep -v $B...
2024-01-10大小写字母转换的shell脚本代码
以下脚本,可以进行目录或文件大小写字母转换,代码如下: 复制代码 代码如下: #!/bin/sh #edit by www.jb51.net # [:upper:] [ A - Z ] # [:lower:] [ a - z ] # [:digit:] [ 0 - 9 ] # [:alnum:] [ 0 - 9 a - z A-Z] # [:space:] 空格或t a b键 # [:alpha:] [ a - z A - Z ] # tr for f...
2024-01-10shell脚本之八:函数知识与实践
八、函数知识与实践(一)shell函数语法1、函数的表示方式第一种语法第二种语法第三种语法function 函数名(){ }function 函数名 {}函数名() { }2、实例:函数的写法[root@centos6-kvm3 scripts]# cat 08-01.sh#!/bin/bashfunction oldboy(){echo "i am $1 teacher"}function oldgirl {echo "i am $1 teacher"}test() {echo "this is ...
2024-01-10来自shell脚本的Java程序中的输入值
我想知道是否有从sh脚本到Java程序中的输入值的方式。例如我有一个program.jar。我做java -jar program.jar它输出:来自shell脚本的Java程序中的输入值Enter your name: 是否可以编写一个脚本sh这样的:java -jar program echo name 其中name的会是该程序的输入?回答:为了呼应数据到你的Java程序从壳做这样的事情...
2024-01-10shell脚本杀死侦听端口3000的进程?
我想定义一个bash别名,以kill3000自动执行以下任务:$ lsof -i:3000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEruby 13402 zero 4u IPv4 2847851 0t0 TCP *:3000 (LISTEN)$ kill -9 13402回答:alias kill3000=”fuser -k -n tcp 3000”...
2024-01-10Bash脚本编程之字符串处理
简介其实这里说得字符串处理,对应的是bash官网中的【Shell Parameter Expansion】,不过直接去看这部分内容实在是太难以理解了。就按照马哥所说的字符串处理会比较好理解,平常使用应该也是足够的了。字符串切片这块在上一篇讲解数组的文章中,也大概提到了Shell Parameter Expansion除了可以对数组(arr...
2024-01-10Java程序调用带参数的shell脚本返回值
Java程序调用带参数的shell脚本返回值首先来看看linux中shell变量(\(#,\)@,$0,$1,$2)的含义解释变量说明:$$ Shell本身的PID(ProcessID)$! Shell最后运行的后台Process的PID$? 最后运行的命令的结束代码(返回值)$- 使用Set命令设定的Flag一览\(* 所有参数列表。如"\)*"用「"」括起来的情况、以"$1 $2 … $n...
2024-01-10脚本编程(一)
脚本编程(一)啰里啰唆:每周的最后一天都特别难受。墨迹扣不出文章。一、概况注释是以#开都的,#开头不一定都是注释SHELL是解释型语言SHELL脚本第一句以#!/bin/bash开头SHELL脚本需要具有执行权限一般以.sh结尾别名在脚本中无效。在脚本中不能使用别名。 bash使用技巧:-n 检查语法,无法...
2024-01-10为Bash脚本编写注释
编写Bash脚本时,始终使代码简洁且易于理解始终是一个好习惯。可以通过多种方式组织代码,缩进,给变量和函数提供描述性名称。提高代码可读性的另一种方法是使用注释。注释是在shell脚本中编写的易于理解的解释或注释。将来在您的代码中添加注释到Bash脚本将节省大量时间和精力。假设您要更...
2024-01-10Shell脚本编程实践——指定某个目录删除文件
通常,在Linux系统中我们需要经常删除一些临时文件或者垃圾文件,如果我们通过手动一个文件一个文件的删除那会相当麻烦。 最近也正在学习shell脚本编程,因此自己试着写了一个用来指定目录删除文件的应用。 该脚本的功能是: 首先指定要删除的文件所在的目录;然后选择要删除的方式,是...
2024-01-10shell脚本怎样打开一个新的标签页?
如题,我想让平常的工作自动化起来,比如开始项目开发的时候要先打开几个shell标签页,然后在不同标签页输入几个指令启动服务脚本。这里想让这一流程自动化执行。已知使用gnome-terminal可以打开新的窗口,但是我想只打开一个shell窗口,然后用shell模拟我们在窗口中按下ctrl+shift+t的操作,请问有什么...
2024-01-10