Announcement

Collapse
No announcement yet.

Welche Art von CLI soll ich nehmen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Welche Art von CLI soll ich nehmen?

    Ich will für meine Server-Anwendung eine CLI schreiben.

    Nun gibt es ja zwei Arten von CLI.

    Einmal wie z.B. bei Git, wo man die Parameter direkt beim Programmaufruf mitgibt. (also "git fetch ...")
    Und einmal wie z.B. bei MySql, wo intern eine Kommandozeile angeboten wird.

    In welchem Fall wäre welche Variante geeignet?

  • #2
    Originally posted by florida View Post
    ..
    Nun gibt es ja zwei Arten von CLI.
    ..
    In welchem Fall wäre welche Variante geeignet?
    Nur 2? Die Frage ist etwas vage gestellt.
    Was ist Dein Ziel?

    Was ist Deine Plattform?

    In Linux kann man munter mixen, Input / Output pipen und es mag so aussehen, also könne man munter wechseln.
    Ob ich ein Statement in der SQL Console ausführe oder es der Console als Parameter mitgebe, ist vielleicht egal, Geschmackssache oder eben eine Frage, was man erreichen will.

    Ist ein beliebige OS Console gegeben, kann ich von dort sozusagen alles erreichen, pipen, umleiten, durchsuchen, wie ich es möchte und natürlich alles nutzen/einbeziehen, was installiert ist.
    Innerhalb einer (spezialisierten) Console sieht das etwas anders aus. Mglw gibt es hier mächtige Befehle, die von außen (als Parameter) funktional nicht umsetzbar wären oder andere interessante Dinge , die sich so besserf umsetzen lassen.
    Am ehesten würde ich hier an stateless/stateful denken.
    Innerhalb einer Console kann man bequem einen Zustand verwalten ohne irgendwelche "Krücken" (Dateien) benutzen zu müssen.
    Gruß, defo

    Comment


    • #3
      Nun, ich hab jetzt keine eigene Scriptsprache für meine Anwendung entwickelt, die eben mit Bedingungen/Schleifen umgehen kann. Wenn man die Parameter über den Linux-Terminal übergibt, kann man ja mittels sh-Files mein Programm dennoch innerhalb von Bedingungen/Schleifen problemlos verwenden. Deswegen tendiere ich zu der Parametervariante.

      Als Plattform wie erwähnt Linux (Ubuntu 16.04)

      Comment


      • #4
        Wo ist dann da die CLI?
        Du imterpretierst lediglich die Aufrufparameter beim Programmstart
        Christian

        Comment


        • #5
          Nach dem Durchstöbern einiger Frameworks wurde eben diese Variante auch als CLI bezeichnet.

          Jedenfalls fände ich es klasse, wenn es ein CLI-Framework gäbe, das eben auch mit voller Batch-Ausrüstung (also Schleifen, Bedingungen) daherkommt. Kennt da jemand was?

          Comment


          • #6
            Originally posted by florida View Post
            Nach dem Durchstöbern einiger Frameworks wurde eben diese Variante auch als CLI bezeichnet.

            Jedenfalls fände ich es klasse, wenn es ein CLI-Framework gäbe, das eben auch mit voller Batch-Ausrüstung (also Schleifen, Bedingungen) daherkommt. Kennt da jemand was?
            Also was Du letztlich umsetzen willst, ist mir immer noch nicht klar.
            Meinst Du z.B. sowas wie Cement? Das ist ein python framework, was u.a. eine vorgfertigte command line Parametrierung uvma mitbringt.

            P.S. Ist ja java forum hier.
            Keine Ahnung, was da alles geht. Vielleicht JCommander lib?
            Gruß, defo

            Comment


            • #7
              So, meine Entscheidung ist gefallen.

              Ich biete eine "interne" CLI an. Also man startet das Programm und kann dann seine Befehle nacheinander abschicken. Batch-Support (also mit Schleifen, Bedingungen etc.) ermögliche ich, indem die ganzen Befehle des Batches in Java-Code übersetzt werden, im String abgelagert werden und dort einfach mittels JavaCompiler ausgeführt werden.

              Comment

              Working...
              X