精华内容
下载资源
问答
  • shell脚本创建目录
    千次阅读
    2020-10-10 17:05:53

    实现功能:判断该目录是否存在,未存在则创建,并输出信息

    执行命令:

    vim createdir.sh

    #!/bin/bash
    DIR="/media/cdrom"
    if [ ! -e $DIR ]
    then
    mkdir -p $DIR
    echo "OK"
    fi
    
    更多相关内容
  • Linux shell 自动创建目录脚本

    千次阅读 2020-12-22 10:36:26
    Linux shell 自动创建目录脚本。 写一个脚本,实现创建目录的功能,目录的名称由用户给出,需要对如下情况进行判断处理: 用户没有给出参数 用户给出的目录名称是否在当前目录存在,如果存在,提示用户重新>创建...

    根据用户传入的目录名称,创建目录。

    #!/bin/bash
    filename=$1 #获取用户输入的目录名称
    var_count=$# #获取用户输入的参数个数
    
    while :
    
    do
    
       if [ $var_count = 0 ];then
    
          echo "请输入您要新建的目录名称!"
          read file
    
               filename=$file
               if [ -n $filename ]; then
                  var_count="输入字符串长度>0"
               else
                  continue
               fi
      
       elif [ $var_count != 0 ]; then
    
          mkdir $filename >> /root/rubbish.txt 2>&1
          if [ $status_u = 0 ]; then
             echo "恭喜您,目录创建成功!"
             break
    
          else
             echo "目录已存在,创建失败!请重新操作。"
             read file
             filename=$file
    
          fi
    
       fi
    
    done
    

    run:
    在这里插入图片描述

    展开全文
  • #! /bin/bash is_directory() { DIR_NAME=$1 if [ ! -d $DIR_NAME ]; then return 1 else return 0 fi } for DIR in "$@"; do if is_directory "$DIR" then : ... echo "$DIR doesn't exist....
    #! /bin/bash
    
    is_directory()
    {
        DIR_NAME=$1
        if [ ! -d $DIR_NAME ]; then
            return 1
        else
            return 0
        fi  
    }
    
    for DIR in "$@"; do
        if is_directory "$DIR"
            then :
        else
            echo "$DIR doesn't exist. Creating it now..."
            mkdir $DIR > /dev/null 2>&1
            if [ $? -ne 0 ]; then
                echo "Cannot create directory $DIR"
                exit 1
            fi
        fi  
    done
    
    
    展开全文
  • Shell脚本创建SFTP和FTP账户
  • 主要介绍了Shell脚本统计当前目录目录和文件的数量,Linux下如何统计当前目录下文件有多少个,目录又有多少个呢,使用本文脚本即可实现,需要的朋友可以参考下
  • Linux使用shell脚本实现目录创建与文件传输前言需求分析与难点实现SSH无密码登录安装Expect动态创建目录发送文件至目标服务器 前言 本人是个java开发,第一次接触devops系统的开发,对shell脚本并不是特别的熟悉,...

    前言

    本人是个java开发,第一次接触devops系统的开发,对shell脚本并不是特别的熟悉,因此实现的方式可能比较愚蠢,大神勿喷,如果有更好的建议,欢迎留言。

    需求

    devops开发(二开),在pipeline执行过程中,拉取代码后进行sonar扫描。
    要求sonar扫描后生成pdf文件后,上传至minio文件服务器并且提供下载功能。

    分析与难点

    1. 在旧版本中,生成的sonarPDF文件直接储存在了跑在同一台主机的tomcat上,只需要在shell脚本中cp一下就ok了。但是, 新版本Jenkins与minio文件服务器不在同一台主机上。所以需要想办法把Jenkins主机上生成的pdf文件上传至minio。
    2. 每一个应用对应一个pipeline,每次执行当前应用的pipeline都会生成一个新的版本,每个版本都会生成一个sonarPDF文件。但是当前应用的pipeline和sonar中的项目是一一对应的关系,也就是说每次sonar扫描后都会覆盖jenkins上生成的pdf文件,所以需要每次生成后利用我们自定义的规则分别存储再minio服务器上。
    3. 如果我在devops开发系统服务器上写代码,读取jenkins服务器上某目录下的pdf文件为Inputstream,然后再调用minioSDK上传至minio。 就会变成 Jenkins -> devops -> minio,怎么感觉都觉得不合理。所以经过思考,决定再Jenkins服务器执行Pipeline时执行到sonar.sh脚本中的生成pdf文件成功后,在脚本中追加一段上传minio服务器的代码。
    4. 随之而来的问题。上传至minio服务器的脚本应该怎么写?翻遍文档资料,只发现了minio提供的SDK,并没有发现有shell上传的文档。
    5. 最终,经过仔细研究,发现minio的有一个data的目录,只要把文件放入到这个文件夹中,就会显示出Bucket和对应的文件。那么,如何利用shell脚本在Jinkens服务器远程动态生成目录?创建完目录后又如何把pdf传递至minio服务器?

    minio官方文档:https://docs.min.io/cn

    实现SSH无密码登录

    1. 使用ssh-keygen命令在本地机器上使用ssh-keygen产生公钥私钥对。
    $ ssh-keygen
    
    1. 用ssh-copy-id将公钥复制到远程机器中
    $  ssh-copy-id -i .ssh/id_rsa.pub  用户名字@192.168.x.xxx
    
    1. 登录到远程机器不用输入密码
    $  ssh 用户名字@192.168.x.xxx
    
    Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2
    

    参考资料:https://blog.csdn.net/liu_qingbo/article/details/78383892

    这样无需密码就可以登录到远程服务器了,在写shell脚本的时候可以少写几行代码。

    安装Expect

    yum  install expect
    

    什么是expect?
    在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。而利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行。这就是expect!!!

    参考:https://www.cnblogs.com/zhuyeshen/p/11731942.html

    动态创建目录

    创建一个脚本

    $ vim create_dir.sh
    
    #!/usr/bin/expect -f
    
    set user [lindex $argv 0]
    set url [lindex $argv 1]
    set dir [lindex $argv 2]
    
    spawn ssh ${user}@${url}
      expect "100%"
      send "mkdir -p /data/minio/data/${dir}/ \r"
      expect "eof"
    
    

    其中变量user为目标主机的用户,url为IP,dir为要动态创建的目录。

    发送文件至目标服务器

    $ vim send.sh 
    
    #!/bin/sh
    user=$1
    url=$2
    dir=$3
    
    echo "/app/cip-shell/create_dir.sh ${user} ${url} ${dir}"
    expect /app/cip-shell/create_dir.sh ${user} ${url} ${dir}
    echo "scp /app/sonarpdf/*.pdf ${user}@${url}:/data/minio/data/${dir}/sona.pdf"
    scp /app/sonarpdf/*.pdf ${user}@${url}:/data/minio/data/${dir}/sona.pdf
    
    

    因为我把两个脚本的内容写在一起时总是执行失败,因此我分成了两个脚本执行竟然成功了。

    虽然功能成功实现了,但是我依然觉得哪里不对劲,如果大神有更好的建议,希望留言交流。

    展开全文
  • i++)) do mkdir study.$i # 创建目录 done echo "mkdir success!" ls study.* # 显示目录 sleep 5 cd study.1 # 进入study.1 for ((i=1; i; i++)); do touch test$i.txt done # 通过for在study.1目录下创建文件 for ...
  • shell脚本内容: #!/bin/bash #date:2020-2-20 #描述:一键配置本地yum源仓库 echo [正在检测是否挂载磁盘----------] mount /dev/cdrom /mnt &> /dev/null cd /mnt/Packages/ if [ $? -eq 0 ] then echo 已将...
  • #!/bin/bash if [ -d "sharefile" ];then echo "文件存在已重建" rm -rf sharefile else echo "文件不存在" fi array[0]=FYCK; array[1]=GUACK;...mkdir -p sharefile/${array[$i]}/{req,reqbak,rsp,r
  • 工作中搭建测试环境,有个需求如下:指定路径下,新建多个子目录,每个子目录下面还有3个二级子目录,命令行敲命令新建的话,效率有点低,可以使用脚本实现;脚本如下:[root@localhost ~]# cat 1.sh  #!/bin/...
  • shell自动化脚本,自动判断文件夹(目录)是否存在,如不存在自动创建,可执行,下载可测试
  • (1)判断/home下是否存在一个的目录文件;如果不存在则转(2)继续往下执行;如果存在则判断该目录下是否存在一个.c文件,如果不存在则转第(3)步,如果存在则从第(4)...(6)在shell脚本中运行程序,输出相应内容
  • 简单明了,一看就会
  • 文章目录批量创建用户 批量创建用户 需求: 批量创建10个用户,用户名:user01~user10,给每个用户设置随机密码(密码长度为10,包含大小写和数字,不包含特殊符号),并将每个用户的用户名和密码保存到文件中 脚本...
  • 主要介绍了如何使用 Shell 脚本执行 .NET Core 应用,帮助大家更好的理解和使用shell 脚本,感兴趣的朋友可以了解下
  • 到目前为止,非图形化的Linux还没有回收站的命令。 那么,我们如果不小心将某一个文件...把此脚本放入/usr/local/bin目录下,然后使用del 123.txt就可以将文件放入回收站,而不是真的删除。而且可以"删除"同名的文件。
  • 背景:cmake创建build目录,在编译的时候需要进入某个特定的build下的子目录中,进行make。当目录层级较深时,显得很累。 打个比方:工程目录是/root/server/test/cc_svr/uc_client_next 那么对应的build目录就是...
  • shell脚本进入指定目录

    千次阅读 2020-08-14 09:42:05
    在linux环境下,常有通过shell脚本进入指定目录的操作,例如有一段脚本 framework.sh #!/bin/bash echo "\n----------- 开始进入指定文件夹 --------------\n"; cd /Users/xxxx/Downloads/work/phapp_html pwd ls -l...
  • shell脚本创建和执行

    2021-05-03 07:40:27
    shell脚本创建和执行  shell脚本并不能作为正式的编程语言,因为它是在Linux的shell中运行的,所以称他为shell脚本。 事实上,shell脚本就是一些命令的集合。  我们不妨吧所有的操作都记录到一个文档中,然后...
  • create_directory_struct:用于创建目录结构的Shell脚本
  • 【Shell】执行shell脚本进入指定目录

    千次阅读 2021-05-10 14:40:58
    在linux环境下,常有通过shell脚本进入指定目录的操作,例如有一段脚本chdir.sh: #!/bin/sh cd /home/jiulong/mstar/TVOS_Release_V1.0.6/jb_4.2/ ls -l 在shell环境下通过./chdir.sh执行这段脚本是无法进入...
  • 常用shell脚本, Dos攻击防范(自动屏蔽攻击IP).sh 一键部署等等 Linux系统发送告警脚本.sh MySQL数据库备份单循环.sh MySQL数据库备份多循环.sh nginx 访问访问日志按天切割.sh nginx.conf nginx访问日志分析...
  • 实现自动清除日期目录shell脚本实例代码 很多时候备份通常会使用到基于日期来创建文件夹,对于这些日期文件夹下面又有很多子文件夹,对于这些日期文件整个移除,通过find结合rm或者delete显得有些力不从心。本文提供...
  • Shell批量创建目录

    千次阅读 2020-01-07 16:37:04
    网站上传目录,一般要按hash值或者日期生成若干个子目录,防止单目录文件数量太多导致IO性能下降问题,常见做法是计算目标的md5值,... ff 这些目录shell脚本 #!/bin/bash for i in 0 1 2 3 4 5 6 7 9 9 a b c ...
  • ps:此处安装的jdk,maven,tomcat均在/opt目录下,如需其他目录或者其他版本,可根据需要改动shell脚本即可。 ps:所有代码全部手敲,已亲测能够使用,全部分享出来。 一:虚拟机初始化 创建shell脚本,把命令放进....
  • shell脚本创建MySQL库和表插入数据

    千次阅读 2020-12-09 18:36:07
    废话不多说,直接上脚本 需要注意的是mysql语句中不能有反引号或者单引号 脚本需要授权,命令为: chmod 777 genera.sh mysql版本为5.7 ...#创建数据库 create_db_sql="create database IF NOT EXISTS
  • 下面小编就为大家分享一篇shell命令行,一键创建 python 模板文件脚本方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • shell大部分案例均出自《Linux命令行与shell脚本编程大全案例》一书,方便各位小伙伴学习,欢迎各位同学共同扩充shell脚本库哦!!!!
  • 有3种方式: fork: 如果脚本有执行权限的话,path/to/...fork 是最普通的, 就是直接在脚本里面用 path/to/foo.sh 来调用foo.sh 这个脚本,比如如果是 foo.sh 在当前目录下,就是 ./foo.sh。运行的时候 terminal...
  • 学习shell脚本-每天写一个脚本-按照日期创建一个文件或目录 按照日期创建一个文件或目录 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Command + B 斜体:Ctrl/Command + I 标题:Ctrl/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 212,392
精华内容 84,956
关键字:

shell脚本创建目录