检测当前用户是否为超级管理员,是则使用yum安装vsftpd,不是则输出提示信息 脚本赋予执行权限 [root@VM_0_10_centos shellScript]# chmod a+x checkRoot.sh [root@VM_0_10_centos shellScript]# ./checkRoot.sh 脚本内容 #!/bin/bash # 前者使用字串对比,后者使用UID数字对比 # 检测本机当前用户是否为超级管理员,如果是管理员则使用yum安装vsftpd:如果不是,则提示非管理员…
局域网中分了很多网段,而IP地址使用情况也未知,前期也没有规划和记录,当新的主机需要使用固定IP的时候,能否第一时间知道哪个IP空闲就显得很重要了,如果一个一个去ping的话太浪费时间. 这里分享一个shell脚本检测当前哪些IP在用和不在用. 脚本如下: #!/bin/bash #先生成一个网段的IP文本 ippre="192.168.10." for i in {1..254} do echo "${ippre}$i" >>ip.txt done #…
有时候在初始化shell脚本中希望能顺便创建用户并指定密码,使用useradd命令可以达到该效果: useradd -m -p encryptedPassword username 参数说明: -m : 自动建立用户的登入目录: -p encryptedPassword : 加密后的密码, 方法crypt()的返回值. username 需要添加的用户名 怎么生成一个加密密码: 使用perl的crypt()方法即可加密明文密码,示例如下: $ perl -e 'print crypt("pass…
通常在执行自动化过程中可能需要将root用户切换到其他用户进行执行,如:oralce 但是,执行的命令又要回到root用户下,继续执行root用户下的其他命令. 此时需要了解 su 命令中的参数 -c  或 -s 比如: # su - oracle -c "pwd"/home/oracle 或 su - oracle -s /bin/sh test.sh 此时执行的test.sh中相关命令要在bin/sh下,换句话说,bin/sh支持的命令才能执行. 当然我们可以将结果重定向到其他的文…
使用 http://www.weiruoyu.cn/?p=368 shell脚本监控硬盘空间剩余空间 邮件报警 1.先观察一下磁盘,和如何使用脚本 [root@localhost ~]# df -h 文件系统              容量  已用 可用 已用% 挂载点 /dev/mapper/VolGroup00-LogVol00 8.9G  2.6G  5.9G  31% / /dev/sda1              99M   13M   82M  13% /boot tmpfs   …
1. 修改mt7620a.dts文件,把gpio管脚复用全都定义为通用gpio /dts-v1/; /include/ "mt7620a.dtsi" / { compatible = "ralink,mt7620a-eval-board", "ralink,mt7620a-soc"; model = "Ralink MT7620a + MT7610e evaluation board"; palmbus@ { gpio1: g…
命令行参数 命令行参数:允许在运行脚本时向命令行添加数据值 如:$ ./addem 10 30 读取参数 bash shell会将一些称为位置参数的特殊变量分配给命令行输入的所有参数,甚至包括shell执行的程序的名字 位置参数变量是标准的数字 $0:程序名 $1:第一个参数 2:第二个参数,以此类推,直到第9个参数9 $cat test #!/bin/bash total=$[ $1 * $2 ] echo The total value is $total. $./test 2 5 The…
shell初始化安装脚本执行时,需从网络上安装一些rpm包,所有需要先检测网络的畅通性, 代码 #检测网络链接&&ftp上传数据 function networkAndFtp() { #超时时间 timeout= #目标网站 target=www.baidu.com #获取响应状态码 ret_code=`curl -I -s --connect-timeout $timeout $target -w %{http_code} | tail -n1` if [ "x$ret_cod…
1.切换用户并执行命令 su 用户名 -c "命令" 2.切换用户并执行脚本 su 用户名 -s /bin/bash 脚本路径 3.切换用户并执行命令集su 用户名 <<EOF命令集EOF…
  通常作为一个应用程序的部署脚本,开始的第一项工作是为当前应用创建一个专用(dedicated)的用户和用户组.这个脚本很简单,这里贴一个参考样本: #!/bin/sh user=test_user group=test_group #create group if not exists egrep "^$group" /etc/group >& /dev/null if [ $? -ne 0 ] then groupadd $group fi #create user…
首先ftp配置应为虚拟用户登录模式 用户密码文本目录为/etc/vsftpd/vftpuser,代码如下: #!/bin/bash # ];then username=$ password=$ homepath=$ for U in `sed -n '1~2p' /etc/vsftpd/virtual_list`;do if [ $username == $U ];then echo "user '$username' already exists" exit fi done if […
1.目的 通过模拟接口方法,实现批量用户开通 2.分析 A.接口含body和head部分,其中body中的某些变量为必填字段,包含用户的信息,接口可整理成body.xml.head.xml文件. B.用户信息清单可以整理成list.txt文件. C.逐行读取list.txt文件,将其用户信息对应替换到body.xml文件中.然后使用curl方法发送接口信息. D.将开户结果输出至result.log文件. 3.脚本实现 #! /bin/sh Bxml=``/body.xml Hxml=``/he…
功能说明:用root用户执行一个脚本,脚本里需要切换到普通用户DT去执行其他命令,其中就用到了EOF,用法如下: #!/bin/bash su - DT<<EOF cd apache-tomcat-7.0.54/bin sh startup.sh EOF 当时以为su - DT就跟在交换界面执行一样会把环境也切换过去,所以在分界符EOF里用的是相对路径,结果一运行就报错: -bash: line 8: cd: apache-tomcat-7.0.54/bin: 没有那个文件或目录 然后就做了个…
网站访问量大的时候mysql的压力就比较大,当mysql的CPU利用率超过300%的时候就不能提供服务了,近乎卡死状态,这时候最好的方法 就是重启mysql服务.由于这种事具有不可预见性,我们不知道什么时候mysql的占用率达到300%,还是写个程序定期判断比较靠谱. 学了shell编程,写了下面的脚本: #!/bin/bash cpu=`ps aux | grep 'mysqld$' | cut -d " " -f6 | cut -d. -f1` if [ $cpu -gt 300…
[root@localhost wyb]# cat tishiuser.sh #!/bin/bash #提示用户输入一个用户名,如果存在:显示用户UID和SHELL信息:否则, #则显示无此用户:显示完成之后,提示用户再次输入:如果是quit则退出; echo 'Input `quit` to quit' while : do read -p "Please Input a user:" choice [ -z $choice ] &&continue [[ "…
通常作为一个应用程序的部署脚本,開始的第一项工作是为当前应用创建一个专用(dedicated)的用户和用户组.这个脚本非常easy.这里贴一个參考样本: #!/bin/sh user=test_user group=test_group #create group if not exists egrep "^$group" /etc/group >& /dev/null if [ $? -ne 0 ] then groupadd $group fi #create use…
效果图如下: #!/bin/bash# while truedocat << EOF//======================\\\\| 用户登录系统 |--------------------------| 1.创建用户 || 2.删除用户 || 3.锁定用户 || 4.解锁用户 || 5.查看用户 || 6.退出脚本 |--------------------------EOF read -p "请输入你的操作选择:" num#输入为1时的判断if [ "…
#!/bin/sh # configurations # computer 设备名称 # target 监控目标 # watcher 跟踪者(邮箱) computer="ehetong" target="home/ehetong/apache-tomcat-7.0.33" date_time=$(date +%c) # 收件人 email_addressee="952589031@qq.com 823633682@qq.com" # 发件人 em…
#!/bin/bash DATE=$(date +%F_%T) USER_FILE=user.txt echo_color() { == "green" ];then echo -e "\033[32;40m$2\033[0m" == "red" ];then echo -e "\033[31;40m$2\033[0m" fi } #如果用户文件存在并大小大于0就备份 if [ -s $USER_FILE ];then mv…
在脚本中,判断执行者是否为root. 判断方法1, #!/bin/bash if [ `whoami` != "root" ];then echo " only root can run me" exit fi  判断方法2(但是用sudo执行回报脚本有语法错误,不知为何,有知道的高手请回复我). ];then echo "you are root" fi…
脚本如下: #!/bin/sh #要检查的进程名 PROGRESS_NAME="heihu_server" #----------------------------------- # 函数: CheckProgress# 功能: 检查一个进程是否存在 # 参数: $ --- 要检查的进程名称# 返回: 如果存在返回0, 否则返回1. #--------------------------------------- CheckProgress(){ # 检查输入的参数是否有效 if […
#!/bin/bash#批量添加用户 设置密码for i in `seq 1 10`do if ! id user$i &> /dev/null then useradd user$i echo "123456" | passwd --stdin user$i &> /dev/null else echo "user$i exist!" fidone [命令:echo t{1..10} | xargs -n1 useradd ,可以更快创…
方法1: if grep -qs '/mnt/foo' /proc/mounts; then echo "It's mounted." else echo "It's not mounted." fi 方法2: if mountpoint -q /mnt/foo then echo "mounted" else echo "not mounted" fi…
<1> d211 admin # for i in {3..254} ; do ping -c 1 192.168.1.$i &>/dev/null && echo 192.168.1.$i is alive ;done192.168.1.5 is alive192.168.1.7 is alive <2> fping -a -g 192.168.5.1 192.168.5.177 -s -n >lele.txt -a   Show system…
#/bin/bash if [ $UID -ne 0 ]; then echo Non root user. Please run as root. else echo Root user fi…
#!/bin/bashif [ $USER == "root" ];then #或者 if [ $UID -eq 0 ];then    yum -y install vsftpdelse   echo "您不是管理员,没有权限安装软件"fi…
方法一: # cat check_port.sh #!/bin/bash cat ip.txt|while read line do /usr/bin/nc -w 1 -z $line > /dev/null 2>&1 if [ $? -eq 0 ] then echo telnet $line ok sleep 1 else echo telnet $line fail fi done # cat ip.txt 124.234.83.15 80 124.234.83.10 80…
1.在命令行下输入:sudo su ,之后会提示你输入密码 2.此时输入你之前设定的密码既可: 3.但有时会提示你该普通用户不在sudoers文件里 4.此时可以使用以下命令来切换root用户权限:su - root ;之后输入创建的root用户密码,回车确认: 可以看见用户名已经变成了[root@ygos ~] 标明root管理员切换成功: 5.从root用户切换到普通用户可以用;su username 命令,username:指你要切换的普通用户的用户名,比如我的用户名为:ygos 可以看到…
之前写过两篇关于Android中模拟用户操作的博客(其实用一篇是转载的),现在就来讲讲用shell脚本来模拟用户按键操作.本次的目标是用shell脚本打开微信并在其搜索框中搜索相关内容. 本文的模拟功能主要是用adb的input命令来实现,如果你adb的环境变量配置正确的话,在cmd中输入 adb shell input 就可以看见input的用法了. usage: input ... input text //输入文字(中文不支持) input keyevent //keyevent按键 in…
该文演示如何使用shell脚本完成添加用户,首先进行一个判断,如果用户存在,提示该用户已经存在,否则进行添加新的用户. 示例代码如下: #!/bin/bash grep_user() { R=`grep "^$1:" /etc/passwd | wc -l` echo $R } echo -n "input username:" read USERNAME RET=`grep_user $USERNAME` echo "......return $RET.…