8
我犯了一個腳本,用於啓動並行rsync的過程中什麼時候能得到退出代碼:如何使用xargs的(平行)
#! /bin/bash
LIST=$1
DEST_DIR=$2
RSYNC_OPTS=$3
#echo "rsyncing From=$SRC_DIR To=$DEST_DIR RSYNC_OPTS=$RSYNC_OPTS"
echo $LIST|xargs -n1 -d, echo|xargs -n1 -P 0 -I% rsync --rsync-path='sudo rsync' ${RSYNC_OPTS} % ${DEST_DIR}
然後,我有問題,得到的rsync進程的退出狀態。我知道有可能獲得一個pipestatus數組,但我需要捕獲退出代碼以確定rsync是否成功完成。
任何人都知道嗎?
您已經提到'$ PIPESTATUS':'$ {PIPESTATUS [2]}'將包含第二個'xargs'命令的退出狀態。如果退出狀態爲1-125的'rsync',這將是123(請參閱退出狀態部分:http://unixhelp.ed.ac.uk/CGI/man-cgi?xargs) –
嗨Josh,謝謝你你的回覆。不過,我需要rysnc的退出代碼,而不是xargs退出代碼。像這樣:http://wpkg.org/Rsync_exit_codes – bLuEdDy
不知道你可以使用像這樣的xargs獲得rsync的特定退出狀態,它將被xargs掩蓋。也許你可以通過'$ LIST'代替循環? –