首页 > 系统相关 >一些shell脚本

一些shell脚本

时间:2023-10-13 13:34:29浏览次数:34  
标签:脚本 存在 shell 是否 send echo 判断 一些 data

1.判断目录是否为空

DIRECTORY=$1
#在此加上是不是目录的判断。
if [ "ls -A $DIRECTORY" = "" ]; then
echo "$DIRECTORY 目录是空的"
else
echo "$DIRECTORY 目录非空"
fi

2.判断文件夹是否存在

if [ -d "/data/" ];then
  echo "文件夹存在"
  else
  echo "文件夹不存在"
fi

3.判断文件是否存在

if [ -f "/data/filename" ];then
  echo "文件存在"
  else
  echo "文件不存在"
fi
-e 判断对象是否存在
-d 判断对象是否存在,并且为目录
-f 判断对象是否存在,并且为常规文件
-L 判断对象是否存在,并且为符号链接
-h 判断对象是否存在,并且为软链接
-s 判断对象是否存在,并且长度不为0
-r 判断对象是否存在,并且可读
-w 判断对象是否存在,并且可写
-x 判断对象是否存在,并且可执行
-O 判断对象是否存在,并且属于当前用户
-G 判断对象是否存在,并且属于当前用户组
-nt 判断file1是否比file2新  [ "/data/file1" -nt "/data/file2" ]
-ot 判断file1是否比file2旧  [ "/data/file1" -ot "/data/file2" ]

4.堡垒机自动登录脚本

#!/bin/bash
# 需要先安装expect
expect -c "
    # 开启新会话
    spawn -noecho ssh 用户名@堡垒机ip -p 12024;  
    # 等待屏幕上出现password,然后模拟键盘输入发送密码
    expect *password:*;  
    send -- 输入密码密码\r;
    # 等待屏幕上出现堡垒机Shell界面,然后发送跳转符
    expect *NUM*; 
    #send :;
    sleep 1
    # 发送跳转的编号和回车
    send 3\r;
    sleep 1
    send \r;
    send /deploy/app/bin/test.sh\r;   #执行服务器上的脚本
    send \r;

    sleep 3;
    send exit\r;
    # 交还交互式控制权给用户
    #interact;
"
  1. 查找当前目录下指定后缀的文件
FILE=""

function getfile(){
 for file in `ls`;
 do
 if [[ $file =~ \.jar$  ]];then
 FILE=$file
fi
done
}

标签:脚本,存在,shell,是否,send,echo,判断,一些,data
From: https://www.cnblogs.com/hi-lijq/p/17761877.html

相关文章

  • 文件包含漏洞在phpinfo条件竞争下获取WebShell
    PHP文件包含漏洞(利用phpinfo与条件竞争)在PHP环境下,如果网站存在本地文件包含漏洞,但找不到可以包含的文件时,我们可以通过条件竞争来包含缓存文件的方法来获取webshell。又因为临时文件名是随机的,如果目标网站上存在phpinfo,则可以通过phpinfo来获取临时文件名,进而进行包含。前提......
  • PowerShell IDE - PowerShellPlus 使用(2)
    PowerShellPlus提供的快速点击库的第二部分是活动目录(ActiveDirectory),Windows的活动目录ActiveDirectory是自Windows2000的目录服务,它取代了NT4.0版中的安全帐户管理器(SAM)。ActiveDirectory由目录林、域、组织单位、容器和对象等组成。PowerShell也提供了强大的AD管理Cmdle......
  • 使用Shell为UOS中的所有用户创建网页的快捷方式
    本脚本通过域管下发默认为root权限执行 #!/bin/bashcd/home#快捷方式图标名称string_imgName="temp1.png"#快捷方式文件名称string_fileName="/changePassword.desktop"#快捷方式内容functioninsertInfo(){cat>>$1$string_fileName<<EOF[DesktopEntry]#......
  • UOB 的一些做题经验(开坑)
    得到生成函数的封闭形式之后,我们一般有两种方法:应用组合数公式,比如牛顿二项式定理;应用拉格朗日反演。在多维的生成函数中,通常可以把一维认为固定。对生成函数求(偏)导可以赋上系数,然后或许可以不关心这一维。(比方说令其为\(1\))......
  • xshell中Ctrl+S锁定屏幕
    xshell下使用vim的编辑一个文件,保存文件时习惯性的按Ctrl+S,结果按什么键都没有反应。原来Ctrl+S在Linux里,是锁定屏幕的快捷键。如果要解锁,按下Ctrl+Q就可以了。Ctrl+S:锁定屏幕Ctrl+Q:解锁 ......
  • SQL注入一些方法
    select(ascii(substr(database(),1,1)))>91这个查询语句的目的是检查数据库名的第一个字符的ASCII码是否大于91。让我们分解这个查询以便更好地理解它的含义:database():这是一个MySQL函数,用于返回当前数据库的名称。substr(database(),1,1):这是一个MySQL函数,用于从数据库名称......
  • 突然之间FinalShell连接不上虚拟机了
    问题描述就一直显示unknown设置的主机地址那里;问题解决在本机ping了一下虚拟机,发现没有问题;在虚拟机也ping了一下百度地址,也没问题;就尝试将之前设置的主机地址由快捷名称改成主机ip地址,就又ok了,也不知道为啥突然识别不到设置的快捷名称;......
  • Linux脚本内开异步进程和终端开异步进程区别
    sleep.sh内容sleep1000&echo$!脚本内开异步进程是1号进程的子进程终端开异步进程是当前bash进程的子进程在关闭终端后该异步进程会停止停止终端时想要继续执行,使用nohupsleep1000&,刚开始是终端bash进程的子进程,在终端停止后会变成1号进程的子进程。......
  • 2023-10-12 javac : 无法将“javac”项识别为 cmdlet、函数、脚本文件或可运行程序的
    找到你的jdk安装路径/bin,复制并扔到环境变量中去即可,如:   ......
  • python加载shellcode免杀
    1、第一个shellcode加载器importctypes#msf生成的shellcode,命令:msfvenom-ex64/xor_dynamic-i16-pwindows/x64/meterpreter_reverse_tcplhost=192.168.111.111lport=80-fpy-oshell.pybuf=b""buf+=b"\xeb\x27\x5b\x53\x5f\xb0\xe7\xfc\x......