【shell】脚本实现将开发机user1账户下的abc文件夹复制到user2~4账户下

1 主要内容

可以使用Shell脚本来实现将开发机(Linux)上user1账户下的abc文件夹复制到user2、user3和user4账户下。

#!/bin/bash

# 数组赋值,目标用户列表
# target_users=(user2 user3 user4)
# 定义数组
target_users=()

# 生成user+数字的数组,例如,生成user1到user5
for ((i = 2; i <= 4; i++)); do
    target_users+=("user${i}")
done

# 源路径,user1账户下的abc文件夹
source_path="/home/user1/abc"

# 循环遍历目标用户,并复制文件夹
for user in "${target_users[@]}"; do
    # 构建目标路径
    target_path="/home/${user}/"

    # 执行复制命令
    cp -r "$source_path" "$target_path"

    # 输出复制信息
    echo "已将${source_path}复制到${target_path}"
done

# 输出完成信息
echo "复制完成!"

2 常见报错

  1. 各种\r字符导致报错
2.sh: line 2: $'\r': command not found
2.sh: line 5: $'\r': command not found
2.sh: line 8: syntax error near unexpected token `$'do\r''
'.sh: line 8: `do

解决方案:使用notepad将格式转一下
在这里插入图片描述
2. Syntax error: “(“ unexpected

root@gpu:/home/xxx# sh 1.sh
: not found
2.sh: 4: Syntax error: "(" unexpected

原因:常见的linux发行版,虽然很多是将sh指向bash;但debian/ubuntu上sh命令默认是指向dash,而不是bash,dash比bash还轻量,只支持基本的shell功能, 不包括类似于代码中的数组初始化方式,所以会识别不了,报Syntx error。

解决方案:使用 bash 1.sh 运行脚本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/184865.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

h5小游戏-盖楼游戏

盖楼游戏 一个基于JavaScrtipt、Html5 的盖楼游戏 效果预览 点我下载源代码 Game Rule 游戏规则 以下为默认游戏规则&#xff0c;也可参照下节自定义游戏参数 每局游戏生命值为3&#xff0c;掉落一块楼层生命值减1&#xff0c;掉落3块后游戏结束&#xff0c;单局游戏无时间限…

如何在 Photoshop 中删除颜色

如何在 Photoshop 中删除某种颜色的简单方法 如何在 Photoshop 中删除颜色 步骤1 有很多方法可以在 Photoshop 中删除颜色。作为一般概述&#xff0c;我们希望进行选择&#xff08;在本例中为我们的颜色&#xff09;&#xff0c;然后操作该选择&#xff08;通常删除或屏蔽内容…

Ubuntu开机显示recovering journal,进入emergency mode

在一次正常的shutdown -r now之后&#xff0c;服务器启动不起来了&#xff0c;登录界面显示recovering journal&#xff0c;主要报错信息如下所示&#xff1a; /dev/sda2:recovering journal /dev/sda2:Clearn... You are in emergency mode. After logging in, type journalc…

git 对已有的项目代码建立github仓库

首先在项目根路径下使用以下命令初始化git配置文件&#xff1b; git init关联github仓库地址&#xff0c;我这里使用的是SSH连接方式&#xff1b; git remote add origin gitgithub.com:xxxxx.git关联main分支&#xff0c;其中current_branch代表着你需要push的分支&#xff…

Ubuntu 22.04安装vscode

要在Ubuntu 22.04安装vscode&#xff0c;请完成这些步骤。 首先apt命令更新软件包索引并安装导入微软GPG密钥的依赖软件。 更新&#xff0c;近期内执行过可忽略 sudo apt update安装工具包 sudo apt install software-properties-common apt-transport-https curl当导入GPG后…

快速掌握接口自动化测试的技巧和方法!

通过用Python实现头条项目接口自动化测试&#xff0c;下面一起来学习。 目标 1. 熟悉接口自动化测试的流程2. 能够对一个项目的接口实现自动化测试 接口自动化测试流程 1. 需求分析2. 挑选需要做自动化测试的功能3. 设计测试用例4. 搭建自动化测试环境[可选]5. 设计自动化测…

英语学习软件 Eudic欧路词典 mac中文版介绍说明

欧路词典 mac (Eudic) 是一个功能强大的英语学习工具&#xff0c;它包含了丰富的英语词汇、短语和例句&#xff0c;并提供了发音、例句朗读、单词笔记等功能。 Eudic欧路词典 mac 软件介绍 多语种支持&#xff1a;欧路词典支持多种语言&#xff0c;包括英语、中文、日语、法语…

提高文字识别率的顶级技巧(图片转excel表格文字图片录入篇)

在日常的客服工作中&#xff0c;有很多用户会问我们一个相同的问题&#xff1a;你们的金鸣识别系统识别率能达到百分之几&#xff1f;能不能达到99%甚至100%&#xff1f;我们先来举个极端的例子&#xff1a;用户上传一张图片给我们程序识别&#xff0c;这张图片上的字是手写的&…

【C/C++】素数专题

素数专题 1.判断素数模板2.求范围内的素数&#xff08;101-200&#xff09;3.判断素数与分解 1.判断素数模板 #include<stdio.h> #include<math.h>int prism(int n){if(n1) return 0;for(int i2;i<sqrt(n);i){if(n%i0) return 0;}return 1; }int main() {int n…

JavaFx 设置窗口边框圆角

UI界面要求窗口边框有一定弧度&#xff0c;因为之前没有做过&#xff0c;网上看了很多文章&#xff0c;都用到了css语句 "-fx-background-radius: ; 我在xml布局文件根节点使用无效&#xff0c;在Scene组件设置无效&#xff0c;gpt等ai问了一圈代码也是无效&#xff0c;…

mysql查询表的字段,字段名以及注释sql语句

sql语句如下&#xff1a; selecta.ordinal_position 序号,a.COLUMN_name 字段名,a.COLUMN_type 字段类型,(case a.is_nullable when NO then 是 else 否 end) 是否非空,(case a.column_key when PRI then 是 else 否 end) 是否主键,a.COLumn_comment 注释 frominformation_sch…

4.4 抗锯齿

一、锯齿是怎么产生的 二、抗锯齿介绍 1.SSAA(super sample anti-aliasing) 拿4xSSAA举例子&#xff0c;假设最终屏幕输出的分辨率是800x600, 4xSSAA就会先渲染到一个分辨率1600x1200的buffer上&#xff0c;然后再直接把这个放大4倍的buffer下采样至800x600。这种做法在数学上…

HBase之Region Splitting

目录 Region Splitting步骤 Region状态过程 Region Splitting 步骤 RegionServer开始split region&#xff0c;SPLIT事务开启。RegionServer在表上获取共享读锁防止split过程中数据被修改。接着在zk中创建一个znode&#xff0c;标记为SPLITTING。Master 将会观察到该znode的创…

Jmeter接口测试——使用教程(上)

前言 jmeter是一款小巧&#xff0c;轻便、开源的性能测试工具&#xff0c;它也可以很方便的进行接口测试。 下面我就带大家学习下jmeter接口测试。 一、Jmeter简介 Jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使…

镜头光圈参数详解和示例,如F2.8-16

光圈&#xff1a; 光圈用F值来表示&#xff0c;以镜头焦距f和通光孔径D的比值来衡量。F值越大&#xff0c;光圈越小&#xff1b;F值越小&#xff0c;光圈越大。 镜头表面标的F2.8-16是指相机镜头孔径的大小。如上图所示&#xff0c;光圈大小F2.8-16范围是F2.8、F4、F5.6、F8、…

量子计算突破云渲染资源调度!真机测试完整报告公开!

​摘要&#xff1a;在影视领域中&#xff0c;经常会涉及大量的视频图像渲染工作&#xff0c;而往往在这种大规模、动态渲染场景下&#xff0c;普遍存在着冗余渲染现象。究其原因在于大规模的图像渲染通常要求在短时间内做出渲染任务的算力分配决策&#xff0c;而经典计算机无法…

electron+vue3全家桶+vite项目搭建【26】electron本地安装Vue Devtool插件,安装浏览器扩展

文章目录 引入获取vue devtool导入插件排除插件的npm脚本最终效果 引入 demo项目地址 Vue Devtools插件是vue项目必备插件&#xff0c;它是安装在浏览器里的&#xff0c;而咱们的electron中实际就包含了一个浏览器&#xff0c;同理它也可以加载浏览器插件 获取vue devtool 直…

Java 之 final 详解

目录 一. 前言 二. final 的基础使用 2.1. 修饰类 2.2. 修饰方法 2.2.1. private 方法是隐式的 final 2.2.2. final 方法可以被重载 2.3. 修饰参数 2.4. 修饰变量 2.4.1. static final 2.4.2. blank final 2.4.3. 所有 final 修饰的字段都是编译期常量吗&#xff1f…

数据结构:二叉查找树,平衡二叉树AVLTree,红黑树RBTree,平衡多路查找数B-Tree,B+Tree

二叉查找树 二叉树具有以下性质&#xff1a;左子树的键值小于根的键值&#xff0c;右子树的键值大于根的键值。 对该二叉树的节点进行查找发现深度为1的节点的查找次数为1&#xff0c;深度为2的查找次数为2&#xff0c;深度为n的节点的查找次数为n&#xff0c;因此其平均查找次…

MacM1(ARM)安装Protocol Buffers

MacM1(ARM)安装Protocol Buffers 本文目录 MacM1(ARM)安装Protocol Buffers3.21之前版本安装使用configure3.22之后版本安装使用cmake使用编译后的版本 protobuf下载地址&#xff1a;https://github.com/protocolbuffers/protobuf/releases 在运行./autogen.sh或./configure命…