Usa &&
per combinare due comandi in una riga della shell:
COMMAND1 && COMMAND2
mkdir -p /my/other/path/here/ && touch /my/other/path/here/cpedthing.txt
Nota:in precedenza ho consigliato l'uso di ;
per separare i due comandi ma come sottolineato da @trysis è probabilmente meglio usare &&
nella maggior parte delle situazioni perché nel caso COMMAND1
fallisce COMMAND2
non sarà nemmeno giustiziato. (Altrimenti questo potrebbe portare a problemi che potresti non aspettarti.)
Fallo con /usr/bin/install:
install -D /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt
quando non hai un file sorgente:
install -D <(echo 1) /my/other/path/here/cpedthing.txt
Devi prima creare tutte le directory principali.
FILE=./base/data/sounds/effects/camera_click.ogg
mkdir -p "$(dirname "$FILE")" && touch "$FILE"
Se vuoi essere creativo, puoi creare una funzione:
mktouch() {
if [ $# -lt 1 ]; then
echo "Missing argument";
return 1;
fi
for f in "[email protected]"; do
mkdir -p -- "$(dirname -- "$f")"
touch -- "$f"
done
}
E poi usalo come qualsiasi altro comando:
mktouch ./base/data/sounds/effects/camera_click.ogg ./some/other/file