精华内容
下载资源
问答
  • linux shell脚本创建目录
    万次阅读 多人点赞
    更多相关内容
  • 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:
    在这里插入图片描述

    展开全文
  • 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
    
    

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

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

    展开全文
  • 如何在 Linux创建 Shell 脚本

    千次阅读 2021-07-30 17:35:43
    你想在你的 Linux 系统中创建一个 Shell 脚本吗? 本指南将带您了解如何使用多个文本编辑器创建 shell 脚本、如何添加注释以及如何使用 Shell 变量。 但是在开始创建 shell 脚本之前,让我们了解 Linux 中的 Shell...

    你想在你的 Linux 系统中创建一个 Shell 脚本吗?

    本指南将带您了解如何使用多个文本编辑器创建 shell 脚本、如何添加注释以及如何使用 Shell 变量。

    但是在开始创建 shell 脚本之前,让我们了解 Linux 中的 Shell 脚本是什么。

    什么是 Linux 中的 Shell 脚本?

    那么,什么是 Shell 脚本?

    Shell Scripting 被定义为由 Linux 或 Unix shell 运行的开源程序。通过 shell 脚本,您可以编写由 shell 执行的命令。

    冗长和重复的命令通常组合成一个简单的命令脚本。您可以存储此脚本并在需要时执行它。 

    Linux 中的 Shell 脚本使编程变得轻松。

    在 Linux 中创建简单 Shell 脚本的方法

    在 Linux 中创建一个简单的 shell 脚本非常容易。您可以使用多个文本编辑器来做到这一点。本教程将展示如何使用两种不同的方法创建 shell 脚本,例如 1) 使用默认文本编辑器,以及 2) 使用 Vim 文本编辑器工具。

    方法 1:使用默认文本编辑器

    要使用默认文本编辑器创建 shell 脚本,只需按照下面给出的步骤操作。

    第 1 步:创建一个扩展名为“.sh”的文本文件。然后输入一个简单的脚本。

    Shell 脚本测试.sh 

    第 2 步:现在不要更改目录。并打开终端。使用下面的命令,授予对创建的文件的可执行访问权限。

    chmod +x 测试.sh

    第 3 步:在终端中执行下面给出的脚本:

    ./testing.sh

    这是使用默认编辑器在 Linux 中创建 shell 脚本的简单技术。现在,让我们看看下一个方法。

    方法二:使用 Vim 文本编辑器工具

    Vim 文本编辑器工具是一个帮助在 Linux 系统中创建 shell 脚本的工具。如果您还没有安装它,请使用以下命令安装 Vim:

    sudo apt 安装 vim

    现在按照使用该工具创建 shell 脚本的步骤进行操作。

    第 1 步:要打开编辑器,只需键入:

    vim

    第 2 步:进入后,打开终端。然后通过以下方式创建一个 bash 文件:

    vi 测试.sh

    命令执行后,编辑器将出现如下。

    Shell 脚本创建 Bash 编辑器

    第 3 步:从键盘上按“i”并进入插入模式。现在,在其中键入以下命令。

    #!/bin/bash
    
    echo “欢迎加入 Linux 家族。”

    步骤 4:按“Esc”退出该模式。然后输入“:w”来保存你的脚本。

    保存后,shell 脚本将如下所示。

    Shell 脚本保存编辑器

     

    第 5 步:当您返回控制台时,键入“:q”。然后写:

    bash 测试.sh

    上述命令将执行 shell 文件并在终端中显示输出。

    在 Shell 中添加注释

    就像在许多其他编程语言中一样,我们使用“#”(标签符号)在 shell 脚本中添加注释。

    在 Vim 编辑器中,打开文本文件。并写下评论如下。

    #!/bin/bash
    
    # 这是测试脚本!
    
    echo “欢迎加入 Linux 家族。”

    上面的例子说明了“#”符号在shell脚本中添加注释的用法。

    使用壳变量

    变量是可以以数字和字符的形式存储信息的值。同样,Shell 变量也可以存储数据。例如,

    var =“你好”
    
    回声 $var

    以上几行将创建一个 shell 变量“var”,然后将其打印出来。

    现在让我们写一个小脚本。

    #!/bin/bash
    
    variable="这是测试 shell 脚本。"
    
    回声$变量

    要获取变量的值,请执行以下命令。

    bash script_example.sh

    让我们使用变量编写另一个脚本。

    #!/bin/sh
    
    回声“你叫什么名字?”
    
    读名字
    
    echo "你好吗,$name?"
    
    阅读评论
    
    echo "我也是 $remark !"

    运行脚本文件并输入“名称”为“Robin”。

    bash 脚本示例.sh
    
    你叫什么名字?
    
    罗宾

    当您输入输入时,脚本会读取名称并回复:

    你好吗,罗宾?

    然后将“备注”输入为“好”。您会注意到脚本重复了该评论。

    好的
    
    我也很好!

    上述代码集的第二行显示了脚本的响应。

    这些是一些简单的 shell 脚本。您可以编写包含循环、函数和条件语句的高级脚本。Shell 脚本将使 Linux 管理变得轻而易举。

    结论

    在本文中,您学习了创建一个简单的 Shell 脚本。现在您可以按照上述方法和提示在 Linux 中创建自己的脚本。

    相关实战:https://www.yunduoketang.com/article/zhiboskedpt.html
    https://www.yunduoketang.com/article/zhibojiaoxpt.html
    https://www.yunduoketang.com/article/zxjiaoysaas.html
    https://www.yunduoketang.com/article/wljiaoxpt.html
    https://www.yunduoketang.com/article/zhibojiaoxpita.html

    展开全文
  • 手动创建用户的过程分析 手动添加pig(5005),基本组hive(5005) 1.添加/etc/passwd ...通过shell程序实现创建用户 #!/bin/bash #创建pig用户UID(5005),GID(5005) USERNAME='pig' PASSFILE='/etc/passwd' GRP
  • 一、通过管理员选择创建、格式化、挂载新添加的磁盘脚本 #! /bin/bash echo ============================== PS3=chose which disk you want to create: select W in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit do...
  • Linux Shell 脚本之循环语句

    千次阅读 2021-10-26 13:45:55
    目录 Shell 脚本之循环语句 一、echo 二、date 三、for 四、while 五、until 六、continue 和 break Shell 脚本之循环语句 一、echo echo -n //表示不换行输出 echo -e //输出转义字符,将转义后的内容...
  • 判断目录是否为空 #!/bin/sh echo "----------$(date +%Y年%m月%d日' '%T)测试(test.sh)----------" BAK=/opt/sh/test ##判断目录是否为空,为空则删除 if [ "`ls -A ${BAK}`" = "&...
  • Linux shell脚本实现sftp文件目录下载

    千次阅读 2022-03-11 14:20:09
    主要脚本代码如下,亲测可用,下载命令之前需要加sudo #!/bin/bash # 作者:zwa # 功能:下载数据到 本地目录 # SFTP 配置信息 # SFTP 帐号 USER=jijian # SFTP 密码 PASSWD=jj # SFTP目录 SRC=/home/jijian # 下载...
  • Ubuntu 21.04 ...# 没有fonts目录创建 if [ ! -d $FONTS ]; then mkdir $FONTS fi # (筛选出所有 .ttf 文件) # 删除下面的 /.ttf/ 则是所有文件 dir=$(ls $(pwd) |awk '/.ttf/ {print $FILENAME}') .
  • 目录 功能: 一、创建add_user.sh文件并编辑 二、add_user.sh 脚本内容如下 三、赋权 四、验证 完成!!! 功能: 输入用户名为空时,打印‘必须输入用户名’,并退出 输入已存在用户名时,打印‘用户已...
  • Linux shell脚本执行SQL

    千次阅读 2022-06-10 16:58:43
    1. 创建.sh文件:[root@user]# mkdir /shell.sh (创建到当前所在目录pwd查看目录) 2. 编辑shell.sh文件:[root@user]# vim shell.sh 3. 这个地方涉及到EOF:
  • 六、LinuxShell脚本编程

    千次阅读 2021-12-04 09:15:13
    第六章:shell编程 1.1 shell的概念介绍 1.1.1 命令解释器 Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核...
  • 文章目录1、创建并运行第一个 shell 脚本2、将 shell 脚本转换为 bash 脚本3、为什么大多数 shell 脚本都包含 #! /bin/bash 在 shell 脚本的开头?4、将 shell 脚本添加到 PATH(以便它可以从任何目录运行) 1、创建...
  • Linux Shell脚本中,把一个压缩文件解压到目标目录下,使用如下代码: tar -xvf server.tar -C /opt/ 上述命令实现了把当前目录下的server.tar的压缩包,解压到了目标目录/opt/ 下。默认opt目录下新建server目录...
  • 脚本目录 script_dir=$(cd $(dirname $0);pwd) 脚本目录的上层目录 dir=$(dirname $script_dir)
  • 步骤1:选择文本编辑器使用文本编辑器编写Shell脚本。在Linux系统上,有一些可供选择:Vim,Emacs,Nano,Pico,Kedit,Gedit,Geany,Notepad ++,Kate,Jed或LeafPad。选择文本编辑器后,启动文本编辑器,打开一个...
  • Linux Shell脚本实现自动交互

    千次阅读 2022-03-18 14:54:11
    一、先来说下解决的问题 我要写一个给Apk文件进行V3签名的Shell脚本来实现自动化,避免每次手动输入大量命令的...1.Linux Shell脚本基础知识:(可以自己再查查) Linux学习教程,Linux入门教程(超详细) htt...
  • 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
  • Linuxshell脚本编程

    千次阅读 2022-03-13 23:57:52
    /home 主目录Linux在这里创建用户目录 /lib 库目录,存放系统和应用程序的库文件 /media 媒体目录,可移动媒体设备的常用挂载点 /root root用户的主目录 /sbin 系统二进制目录,存放许多GNU管理员级工
  • linuxshell脚本

    千次阅读 2020-08-27 09:55:20
    shell脚本是与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或管理用的,但是它比Windows下的批处理更强大,比其他编程程序编辑的...
  • Linux环境下写一个脚本 ... 您可能感兴趣的文章:linux shell 根据进程名获取pid的实现方法linux shell 中判断文件、目录是否存在的方法linux shell中“.” 和 “./”执行的区别详解Linux Shell Map的用法详解Lin
  • 在Ubuntu下,检查一个目录是否存在,不存在则创建的方法如下,通过shell文件 if [ ! -d dirname]; then mkdir dirname fi
  • 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...
  •  a、在/usr/local/wfjb_web_back目录创建 tomcatBack.sh文件  文件内容: #将tomcat中的应用wfjb_web 复制到 /usr/local/wfjb_web_back/tomcat_back/目录下 并按照日期作为文件名称 cp -af /usr/local/apache-...
  • 到目前为止,非图形化的Linux还没有回收站的命令。 那么,我们如果不小心将某一个文件...把此脚本放入/usr/local/bin目录下,然后使用del 123.txt就可以将文件放入回收站,而不是真的删除。而且可以"删除"同名的文件。
  • Linux | shell脚本之数组

    2021-12-17 13:33:44
    目录 [隐藏] 创建数组 读取数组 读取单个元素 读取所有成员 默认位置 数组的长度 提取数组序号 提取数组成员 追加数组成员 删除数组 关联数组 1.创建数组 数组可以采用逐个赋值的方法创建。 ARRAY...
  • (1)判断/home下是否存在一个的目录文件;如果不存在则转(2)继续往下执行;如果存在则判断该目录下是否存在一个.c文件,如果不存在则转第(3)步,如果存在则从第(4)...(6)在shell脚本中运行程序,输出相应内容
  • Linux简介与shell脚本

    千次阅读 2022-03-11 08:50:12
    分配系统资源和协调计算机内部的...application programs:应用程序,比如数据库(DBMS),邮件服务(mail)等,他们可能需要使用到硬件,这时候就要通过shell去调用内核,继而操作硬件。 内核:内核是操作系统的核心。
  • Linux 创建和执行Shell脚本

    千次阅读 2021-05-10 10:00:15
    Linux 创建和执行Shell脚本shell脚本(shell script)是指使用用户环境shell提供的语句所编写的命令文件。shell脚本可以包含任意从键盘输入的Linux命令。1.创建shell脚本建立shell脚本的步骤与建立普通文本文件的方式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 147,045
精华内容 58,818
热门标签
关键字:

linux shell脚本创建目录