lima-city: Webhosting, Domains und Cloud
2 Pluspunkte 0 Minuspunkte

Wenn ich den Befehl nxdbmgr init eingebe muss ich einen Datenbank Treiber auswählen.

[root@vtsv-netxms ~]# nxdbmgr init
NetXMS Database Manager Version 5.2.6 Build 5.2-443-ge9a696f0c2

Selected database driver supports multiple database types.
Please select actual database type:
   1. PostgreSQL (pgsql)
   2. TimeScaleDB (tsdb)
Enter database type [1..2] or 0 to abort:

Wie kann ich das in einem Script automatisieren und automatisch die 1 wählen?

von (19 Punkte)  

3 Antworten

1 Pluspunkt 0 Minuspunkte

Der script Befehl erstellt ein Pseudo Terminal und führt darin nxdbmgr init aus. Dadurch denkt das Programm, es läuft in einem echten Terminal und akzeptiert möglicherweise die Eingabe des Here-String.

script -q -c "nxdbmgr init" /dev/null <<< "1"
von (754 Punkte)  
0 Pluspunkte 0 Minuspunkte

Du kannst es mit einem Pipe Befehl versuchen.

echo "1" | nxdbmgr init

Oder mit printf.

printf "1\n" | nxdbmgr init
von (519 Punkte)  
0 Pluspunkte 0 Minuspunkte

Manche Programme akzeptieren einen Here-String

nxdbmgr init <<< "1"

Alternativ kannst du ein expect Script probieren.

expect -c '
spawn nxdbmgr init
expect "Enter database type"
send "1\r"
interact
'
von (658 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2.4k Fragen

2.9k Antworten

278 Kommentare

13 Nutzer