Hmm, um dir ganz sinnvoll zu helfen, müsstest du vllt verraten, was genau du erreichen willst. Mehrere, nicht nur lesende apt-get-Aufrufe parallel laufen zu haben dürfte nicht möglich sein.
jmar83 hat geschrieben: 30.11.2020 17:09:44
Folgendes geht nicht:
1.) apt-get update ||: && apt-get clean && $(apt-get autoremove --purge > /dev/null 2>&1) &;
2.) apt-get update ||: && apt-get clean && apt-get autoremove --purge > /dev/null 2>&1 &;
Das ist auch völlig korrekt so. Die (Ba)sh-Syntax lässt nur
entweder ;
oder & als Trenner einer Kommandoliste zu. Also entweder
Code: Alles auswählen
echo A; echo B; echo C
# äquivalent zu
echo A
echo B
echo C
oder
Siehe
man bash hat geschrieben:
Lists
A list is a sequence of one or more pipelines separated by one of the operators ;, &, &&, or ||, and optionally terminated by one of ;, &, or <newline>.
Als Hinweis am Rande: Das ; ist – anders als in anderen Sprachen – nicht notwendig, um eine simple Kommandozeile abzuschließen. Man kann es ans Ende schreiben, muss aber nicht. Und es eher üblich, es nicht ans Ende zu schreiben.
jmar83 hat geschrieben: 30.11.2020 17:49:53
Das hier geht aber nicht - kann wieder mal keinen rationalen Grund erkennen warum es nicht geht:
Das
$() ist eine Kommandosubstitution. Sie wird durch die
Ausgaben der aufgelisteten Kommandos ersetzt.
Dieses hier
jmar83 hat geschrieben: 30.11.2020 17:15:42
Code: Alles auswählen
apt-get update ||: && apt-get clean && $(apt-get autoremove --purge > /dev/null 2>&1 &);
ist also effektiv so, als ob du Folgendes ausführst. Was (hoffentlich offensichtlich) nicht funktioniert:
Code: Alles auswählen
apt-get update ||: && apt-get clean && Paketlisten werden gelesen... Abhängigkeitsbaum wird aufgebaut.... Statusinformationen werden eingelesen.... dos2unix ist schon die neueste Version '(7.3.4-3).' 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.;