I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Det kan du gøre som følger, og det duer også under Windows, og hvad ved jeg. Her skrives evt fejl i kommandoen ud til skærmen, du kan naturligvis reagere anderledes (der kan kastes IOExceptions). String cmd= "..."; // din kommando Process p = Runtime.getRuntime().exec( cmd ); InputStream pin = p.getErrorStream(); InputStreamReader cin = new InputStreamReader( pin ); BufferedReader in = new BufferedReader( cin ); String s; if ( ( s = in.readLine() ) != null ) { System.out.println( "Error:" ); System.out.println( s ); while ( ( s = in.readLine() ) != null ) { System.out.println( s ); } }
Du skal ikke skrive p ud, den giver ingen mening. Hvis kommandoen skriver til output skal du læse fra input. p.getInputStream() giver dig en stream fra hvilken du kan læse output fra processen. I eksemplet ovenfor læses fejlbeskeder. Hvis du er interesseret i at få information og brugernavn (whoami) kan du bruge System.getProperty("user.name") der også virker under Windows etc.
Jeg vil gerne have at mit Java program kan fortolke de kommandoer, der bliver indtastet af brugeren. Efter brugeren indtaster f.eks. "ls" eller "whoami" og trykker på return knappen, bliver kommandoen udført som on den blev skrevet direkte i shellen.
Ovenstående forklarer hvordan du håndterer systemkald. Tænker du at der skal læses input fra en shell eller skal kommendoerne afgives i en GUI eller hvordan har du tænkt dig det? Det er f.eks. let at smide output fra din Process til kommandolinien hvis det er det der er planen.
Jeg slog lige op i manualsiderne og du skal istedet benyttet en anden form af exec kaldet: exec("kommando", null, new File("hjemmedirektoriet")); du skal så sørge for at det sidste argument er det direktorie hvor det skal se ud som om programmet bliver eksekveret. I stedet for null kan du give en String[] med environment variable ("jkfjdla=kjfldjl") hvis dit program har brug for det.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.