2016-12-05 105 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 
相關問題