diff --git a/shell/update.sh b/shell/update.sh index 9250cca5..bd52a1b0 100755 --- a/shell/update.sh +++ b/shell/update.sh @@ -375,7 +375,12 @@ gen_list_repo() { files=$(echo "$files" | egrep -v $blackword) fi if [[ $dependence ]]; then - eval $cmd | sed 's/^..//' | egrep $dependence | xargs -i cp {} $dir_scripts + results=$(eval $cmd | sed 's/^..//' | egrep $dependence) + for _file in ${results}; do + file_path=$(dirname $_file) + make_dir "${dir_scripts}/${file_path}" + cp -f $_file "${dir_scripts}/${file_path}" + done fi for file in ${files}; do filename=$(basename $file) @@ -403,11 +408,11 @@ main() { case $p1 in update) echo -e "## 开始执行... $begin_time\n" >> $log_path - update_qinglong "$2" | tee --output-error=warn -a $log_path + update_qinglong "$2" | tee -p -a $log_path ;; extra) echo -e "## 开始执行... $begin_time\n" >> $log_path - run_extra_shell | tee --output-error=warn -a $log_path + run_extra_shell | tee -p -a $log_path ;; repo) get_user_info @@ -415,7 +420,7 @@ main() { log_path="$dir_log/update/${log_time}_$name.log" echo -e "## 开始执行... $begin_time\n" >> $log_path if [[ -n $p2 ]]; then - update_repo "$p2" "$p3" "$p4" "$p5" "$p6" | tee --output-error=warn -a $log_path + update_repo "$p2" "$p3" "$p4" "$p5" "$p6" | tee -p -a $log_path else echo -e "命令输入错误...\n" usage @@ -427,7 +432,7 @@ main() { log_path="$dir_log/update/${log_time}_$name.log" echo -e "## 开始执行... $begin_time\n" >> $log_path if [[ -n $p2 ]]; then - update_raw "$p2" | tee --output-error=warn -a $log_path + update_raw "$p2" | tee -p -a $log_path else echo -e "命令输入错误...\n" usage @@ -435,15 +440,15 @@ main() { ;; rmlog) echo -e "## 开始执行... $begin_time\n" >> $log_path - . $dir_shell/rmlog.sh "$p2" | tee --output-error=warn -a $log_path + . $dir_shell/rmlog.sh "$p2" | tee -p -a $log_path ;; bot) echo -e "## 开始执行... $begin_time\n" >> $log_path - . $dir_shell/bot.sh | tee --output-error=warn -a $log_path + . $dir_shell/bot.sh | tee -p -a $log_path ;; check) echo -e "## 开始执行... $begin_time\n" >> $log_path - . $dir_shell/check.sh | tee --output-error=warn -a $log_path + . $dir_shell/check.sh | tee -p -a $log_path ;; *) echo -e "命令输入错误...\n"