Verwenden Sie &&
um zwei Befehle in einer Shell-Zeile zu kombinieren:
COMMAND1 && COMMAND2
mkdir -p /my/other/path/here/ && touch /my/other/path/here/cpedthing.txt
Hinweis:Bisher habe ich die Verwendung von ;
empfohlen um die beiden Befehle zu trennen, aber wie von @trysis darauf hingewiesen, ist es wahrscheinlich besser, &&
zu verwenden in den meisten Situationen, weil im Fall COMMAND1
schlägt fehl COMMAND2
wird auch nicht ausgeführt. (Andernfalls kann dies zu unerwarteten Problemen führen.)
Mach es mit /usr/bin/install:
install -D /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt
wenn Sie keine Quelldatei haben:
install -D <(echo 1) /my/other/path/here/cpedthing.txt
Sie müssen zuerst alle übergeordneten Verzeichnisse erstellen.
FILE=./base/data/sounds/effects/camera_click.ogg
mkdir -p "$(dirname "$FILE")" && touch "$FILE"
Wenn Sie kreativ werden möchten, können Sie eine Funktion erstellen:
mktouch() {
if [ $# -lt 1 ]; then
echo "Missing argument";
return 1;
fi
for f in "[email protected]"; do
mkdir -p -- "$(dirname -- "$f")"
touch -- "$f"
done
}
Und dann verwenden Sie es wie jeden anderen Befehl:
mktouch ./base/data/sounds/effects/camera_click.ogg ./some/other/file