Ich habe das folgende Skript, das ein Kennwort mithilfe einer Kennwortdatei ändert, die ich das Kennwort in das richtige Format eingegeben habe. Der nächste Befehl benötigt jedoch eine Kennwortdatei mit einem überarbeiteten Format. Im Moment löschen i gerade und neu erstellen Sie die Datei, aber es wäre schön, es nur statt zu bearbeiten, im nur nicht sicher, wie:Suchen und Ersetzen von Text mit einem Bash-Skript
sudo touch /tmp/password.txt
sudo chmod 600 /tmp/password.txt
sudo echo "AS_ADMIN_PASSWORD=" > /tmp/password.txt
sudo echo "AS_ADMIN_NEWPASSWORD=Pa55w0rd2" >> /tmp/password.txt
sudo /opt/glassfish3/bin/asadmin --user admin --passwordfile /tmp/password.txt change-admin-password \
--domain_name domain1
sudo rm /tmp/password.txt
sudo touch /tmp/password.txt
sudo chmod 600 /tmp/password.txt
sudo echo "AS_ADMIN_PASSWORD=Pa55w0rd2" > /tmp/password.txt
sudo /opt/glassfish3/bin/asadmin --user admin --passwordfile /tmp/password.txt enable-secure-admin
Nicht verwandt mit Ihrer Frage, aber beachten Sie, dass 'sudo echo" AS_ADMIN_PASSWORD = ">/tmp/password.txt' wahrscheinlich nicht tut, was Sie denken, dass es tut. Das 'sudo' ist ein No-Op, weil die I/O-Umleitung'>/tmp/password.txt 'in Ihrer lokalen Shell vor dem Aufruf des Befehls passiert. – larsks