2016-12-05 67 views
-2

我被这个脚本卡住了,想要一样的帮助!需要一个将单个文件复制到多个目录的脚本

我想创建一个名为“上传”,这将包含一个脚本,复制一个文件.jar从那里到多个目录(见下文)

/home/minecraft/multicraft/servers/EUSim1 
/home/minecraft/multicraft/servers/EUSim2 
/home/minecraft/multicraft/servers/EUSim3 

等文件夹。

+4

的可能的复制[如何使用GNU cp命令将文件复制到多个目录(http://stackoverflow.com/questions/195655/如何复制一个文件到多个目录使用gnu-cp命令) – Hampus

+1

_想要一些脚本的帮助。哪个脚本?你还没有发布任何脚本。 – anishsane

回答

0

非常简单的脚本: 如何使用它

  1. touch simpleScript.sh
  2. vim simpleScript.sh
  3. 复制/粘贴下面
  4. 行更新TRX_SOURCE_PATHDEST_PATHDEST_PATH1DEST_PATH2
  5. 保存
  6. chmod +x ./simpleScript.sh
#!/bin/bash 

TRX_SOURCE_PATH='/Path/Test.pdf' 
DEST_PATH='/Path/Test' 
DEST_PATH1='/Path/Test1' 
DEST_PATH2='/Path/Test2' 

echo "Starting copy" 
echo "Destination:" $DEST_PATH 
cp $TRX_SOURCE_PATH $DEST_PATH 

echo "copy done for folder:" $DEST_PATH 

echo "Destination:" $DEST_PATH1 
cp $TRX_SOURCE_PATH $DEST_PATH1 

echo "copy done for folder:" $DEST_PATH1 

echo "Destination:" $DEST_PATH2 
cp $TRX_SOURCE_PATH $DEST_PATH2 

echo "copy done for folder:" $DEST_PATH2 
echo "All Copy done" 

希望该脚本可以帮助你。

+0

'Echo'?大写? –

+0

你是对的,它是回声而不是回声。 – LEFBE

0

的快速脚本,以供参考:

脚本

#!/bin/bash 

inputfile=$1 

for var in "[email protected]" 
do 
    if [[ $2 == $3 ]];then 
    exit 1 
    fi  
    cp -v $inputfile $2 
    shift 
done 

命令

./script simple.jar          \ 
/home/minecraft/multicraft/servers/EUSim1/simple.jar \ 
/home/minecraft/multicraft/servers/EUSim2/simple.jar \ 
/home/minecraft/multicraft/servers/EUSim3/simple.jar \ 

输出

'simple.jar' -> '/home/minecraft/multicraft/servers/EUSim1/simple.jar' 
'simple.jar' -> '/home/minecraft/multicraft/servers/EUSim2/simple.jar' 
'simple.jar' -> '/home/minecraft/multicraft/servers/EUSim3/simple.jar' 

这是一个简单的脚本。你可以做一些小小的调整并添加--prefix或者让脚本从文件中读取输入。

(或) 使用CP与xargs的:

echo dir1 dir2 dir3 | xargs -n 1 cp file 
相关问题