美文网首页
shell脚本 for循环拷贝文件

shell脚本 for循环拷贝文件

作者: 带刀打天下 | 来源:发表于2018-12-17 16:17 被阅读0次

一、描述

  • 需求: 将多个文件拷贝至不同的用户文件夹下,并且用户有对文件的操作权限

二、代码详情

#!/bin/bash
user_ids=(108878 108865 108835 108834) # 声明用户id数组
files=("机器学习案例.zip") # 声明文件数组
for item in ${user_ids[@]}
do
    for item2 in ${files[@]}
    do
        if [ ! -d '/mnt/acs_mnt/nas/xiniulab/userdata/'$item'' ]; then # -d 查看 filename 是否为目录
            mkdir '/mnt/acs_mnt/nas/xiniulab/userdata/'$item''
        fi
        chmod -R ugo+rwx '/mnt/acs_mnt/nas/xiniulab/userdata/'$item'' # 给文件夹设置权限
        echo $item
        cp $item2 '/mnt/acs_mnt/nas/xiniulab/userdata/'$item'/'$item2''  # 拷贝文件
    done
done
  • 代码详解
    • 语法格式: chmod [-vR] mode 文件名
      参数说明:
      mode 权限设置字串,格式为[ugoa] [+-=] [rwx]
      u 表示文件的拥有者
      g 表示与此文件拥有者属于一个组群的人
      o 表示其他人
      a 表示包含以上三者即文件拥有者(u)、群组(g)、其他(o)
      + 表示增加权限
      - 表示取消权限
      = 表示唯一设置权限
      r 表示有读取的权限
      w 表示有写入的权限
      x 表示有执行的权限
      -v 显示权限改变的详细资料
      -R 表示对当前目录下的所有文件和子目录进行相同的权限更改
    • 文件比较运算符
      -e filename 如果 filename存在,则为真,例: [ -e /test ]
      -d filename 如果 filename为目录,则为真,例: [ -d /test ]
      -f filename 如果 filename为常规文件,则为真,例: [ -f /test ]
      -L filename 如果 filename为符号链接,则为真,例: [ -L /test ]
      -r filename 如果 filename可读,则为真,例: [ -r /test ]
      -w filename 如果 filename可写,则为真,例: [ -w /test ]
      -x filename 如果 filename可执行,则为真,例: [ -x /test ]

相关文章

  • shell脚本 for循环拷贝文件

    一、描述 需求: 将多个文件拷贝至不同的用户文件夹下,并且用户有对文件的操作权限 二、代码详情 代码详解语法格式:...

  • Gitlab

    文件备份指令 ls /Var/opt/gitlab/backups 建议使用shell脚本和crontab定期拷贝...

  • shell

    1.双重循环 2.循环脚本 3.循环脚本 代码内容 文件内容 4.Linux shell中2>&1的含义解释 (全...

  • python实用脚本及系统操作(1)

    拷贝或移动文件和目录 通常我们拷贝或移动文件是通过shell进行的,但是在进行一些联合操作的话需要python脚本...

  • shell-常用脚本

    循环校验文件是否存在,存在时继续执行 spark-submit 脚本 spark-shell REPL启动脚本

  • shell脚本编写

    shell脚本格式 文件首行指定执行shell的程序以及相关说明 shell 脚本文件后缀,建议命名为.sh 脚本...

  • shell脚本编程

    一、构建基本脚本 创建shell脚本文件 在创建shell脚本文件时,必须在文件的第一行指定要使用的shell。其...

  • linux系统shell循环

    拷贝grub文件到其他节点机,执行跟新grub 1.创建shell脚本bat.sh内容如下: #!/bin/bas...

  • Shell基础

    一、构建基本脚本 1.创建shell脚本文件 在创建shell脚本文件时,必须在文件的第一行指定要使用的shell...

  • [CentOs 7] - '\r': 未找到命令

    一. 问题描述 从Windows向Linux拷贝的Shell脚本文件,运行时报出类似'\r': 未找到命令的异常 ...

网友评论

      本文标题:shell脚本 for循环拷贝文件

      本文链接:https://www.haomeiwen.com/subject/ftlckqtx.html