Shell-Script

將文件夾的內容安裝到另一個文件夾中

  • July 13, 2016

我正在嘗試編寫一個 Makefile 來將我的文件夾的內容安裝到系統上的另一個文件夾中。

我想保持相同的目錄結構,就像這樣。

localfolder
├── a
└── b
   ├── c
       └── d
           ├── e
               └── f

我嘗試了不同的選擇,但它什麼也沒做

$ install -d localfolder /opt/folder
(does nothing)
$ install -t localfolder /opt/folder
install: omitting directory '/opt/folder'
$ install -D localfolder /opt/folder
install: omitting directory 'localfolder'

誰能指出我正確的方向?Google搜尋“linux 安裝命令”沒有帶來任何相關資訊。

謝謝!

對於那些想要一個解決方案的人來說,你去吧:安裝命令不能遞歸地工作。所以我寫了一個shell腳本來解決這個問題。

第一個參數是要複製的文件夾,第二個是目標目錄

#!/bin/sh

# Program to use the command install recursivly in a folder

magic_func() {
   echo "entering ${1}"
   echo "target $2"

   for file in $1; do
       if [ -f "$file" ]; then
           echo "file : $file"
           echo "installing into $2/$file"
           install -D $file $2/$file

       elif [ -d "$file" ]; then
           echo "directory : $file"
           magic_func "$file/*" "$2"

       else
           echo "not recognized : $file"

       fi
       done
}

magic_func "$1" "$2"

它也可作為要點here

引用自:https://unix.stackexchange.com/questions/295664