In BASH drucken und ausführen, möchte ich so etwas wie dies zu tun:über Befehle Looping in 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
Das heißt, ich Schleife von Befehlen über eine Liste wollen, zeigen Sie den Befehl ausgeführt wird , dann führe es aus.
Ich weiß nicht, wie die doppelte Dereferenzierung zu tun (CMD = "$ {CMD $ {i}}" ist in BASH nicht zulässig).
Alternativ würde ich glücklich sein, etwas zu tun:
for CMD in "CMD1 CMD2 CMD3 CMD4"
do
echo $$CMD
done
aber das ist natürlich nicht die richtige Syntax ist, auch nicht.
Natürlich. Ich hatte gerade vergessen, Arrays in bash zu machen. Vielen Dank! –