Ich versuche, die Ausgabe eines Skripts in einer Variablen zu speichern. Hier ist der Code von meinem Skript (delete.sh):Lagerausgabe eines Skripts in einer Bash-Variablen (QNAP QTS 4.0)
#!/bin/bash
echo "Suppression de $1" >> /share/MD0_DATA/remotesync/delete.log
log=$(/share/MD0_DATA/remotesync/remoteSync -rm "$1")
echo $log >> /share/MD0_DATA/remotesync/delete.log̀
Als ich dieses Skript exec Ich habe das in der Ausgabe:
[/share/MD0_DATA/.qpkg/remotesync] # soft/delete.sh "archivesPAO/3MONTAGE BORNE OZ 275x155.psd"
drivers : ("QMYSQL3", "QMYSQL", "QSQLITE")
Table hubicobject & hubicobjectLocal sucessfully reseted
Load container Object
" ATTENTION recuperation du prefix : archivesPAO/3MONTAGE BORNE OZ 275x155.psd"
Credentials
Refresh Token
"Upload : 100% 0.00 octets/s fin dans : 00:00:00"
"Download : 100% 0.00 octets/s fin dans : 00:00:00"
"Download : 100% 0.00 octets/s fin dans : 00:00:00"
"https://lb9911.hubic.ovh.net/v1/AUTH_f5cb82ec59a615a1c56053608e0c6123"
"Download : 100% 0.00 octets/s fin dans : 00:00:00"
"Download : 100% 0.00 octets/s fin dans : 00:00:00"
"Temps pour inserrer 10000 entree : 0 ms"
[/share/MD0_DATA/.qpkg/remotesync] # cat soft/delete.log
Suppression de archivesPAO/3MONTAGE BORNE OZ 275x155.psd
Also ich verstehe nicht, warum ich das nicht auf Lager kann Ausgabe in meiner Shell-Variable. Vielleicht liegt es daran, dass ich an einem QNAP QTS 4.0 arbeite? Aber ich denke nicht.
Wird "remoteSync" möglicherweise auf "stderr" anstelle von "stdout" gedruckt? '$ (...)' nimmt nur 'stdout'. In der Quelle, die Sie zur Verfügung gestellt haben, wird "echo" zu "delete.log" mit einem Akzent über dem "g", also vielleicht drucken Sie nur in die falsche Datei? –