Usa &&
para combinar dos comandos en una línea de shell:
COMMAND1 && COMMAND2
mkdir -p /my/other/path/here/ && touch /my/other/path/here/cpedthing.txt
Nota:Anteriormente recomendé el uso de ;
para separar los dos comandos, pero como señaló @trysis, probablemente sea mejor usar &&
en la mayoría de las situaciones porque en el caso COMMAND1
falla COMMAND2
tampoco será ejecutado. (De lo contrario, esto podría generar problemas que quizás no esperaba).
Hazlo con /usr/bin/install:
install -D /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt
cuando no tiene un archivo fuente:
install -D <(echo 1) /my/other/path/here/cpedthing.txt
Primero debe crear todos los directorios principales.
FILE=./base/data/sounds/effects/camera_click.ogg
mkdir -p "$(dirname "$FILE")" && touch "$FILE"
Si quieres ser creativo, puedes hacer una función:
mktouch() {
if [ $# -lt 1 ]; then
echo "Missing argument";
return 1;
fi
for f in "[email protected]"; do
mkdir -p -- "$(dirname -- "$f")"
touch -- "$f"
done
}
Y luego utilícelo como cualquier otro comando:
mktouch ./base/data/sounds/effects/camera_click.ogg ./some/other/file