在bash,我想做的事情是這樣的:循環執行命令,打印和BASH執行
#!/bin/bash
HOST="blah"
USER="foo"
REMOTE_ROOT="${HOST}:~${USER}/"
REP_NAME=`basename $1`
TARGET_NAME="${REP_NAME}.git"
CMD1="git clone --bare $1 $TARGET_NAME"
CMD2="touch ${TARGET_NAME}/git-daemon-export-ok"
CMD3="scp -r $TARGET_NAME $REMOTE_ROOT"
CMD4="rm -rf $TARGET_NAME"
for i in {1..4}
do
CMD="${CMD${i}}"
echo "$CMD"
`$CMD`
done
也就是說,我要循環命令的列表,顯示所執行的命令,然後執行它。
我不知道如何做雙取消引用(CMD =「$ {CMD $ {i}}」在BASH中不合法)。
或者,我很樂意做這樣的事情:
for CMD in "CMD1 CMD2 CMD3 CMD4"
do
echo $$CMD
done
當然,這是不正確的語法,但是,無論是。
當然。我只是忘記了如何在bash中做數組。謝謝! – 2009-07-29 22:14:59