comp.lang.ada
 help / color / mirror / Atom feed
* Command issuing
@ 1997-10-15  0:00 Robert A. Thompson
  0 siblings, 0 replies; 2+ messages in thread
From: Robert A. Thompson @ 1997-10-15  0:00 UTC (permalink / raw)



I have recently posted to news groups asking for help on Command line
arguments.  I have recieved lots of help and information that I am
extremely appreciative of, however I think I may have miss worded that. 
I need to know how to issue commands to the os not get the paramters
issued when calling the program.  I would like to know how to issue a
DIR... cd... or what ever to make an ada program emulate a batch file or
something.  It does not have to be complex could some one show me how to
write an ada program that could in esses make the program issue commands
in a fashion I prefer.  ie. dir = ls  chmod = cacls etc... It would not
have to be that complex.  If I could just see how to get the ada program
to issue the command then I could get it to do everything else.  I would
greatly appreciate it.

Sincerely,

Robert A. Thompson




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Command issuing
@ 1997-10-16  0:00 Marin David Condic, 561.796.8997, M/S 731-96
  0 siblings, 0 replies; 2+ messages in thread
From: Marin David Condic, 561.796.8997, M/S 731-96 @ 1997-10-16  0:00 UTC (permalink / raw)



 "Robert A. Thompson" <stdrat01@UNX1.SHSU.EDU> writes:
>I have recently posted to news groups asking for help on Command line
>arguments.  I have recieved lots of help and information that I am
>extremely appreciative of, however I think I may have miss worded that.
>I need to know how to issue commands to the os not get the paramters
>issued when calling the program.  I would like to know how to issue a
>DIR... cd... or what ever to make an ada program emulate a batch file or
>something.  It does not have to be complex could some one show me how to
>write an ada program that could in esses make the program issue commands
>in a fashion I prefer.  ie. dir = ls  chmod = cacls etc... It would not
>have to be that complex.  If I could just see how to get the ada program
>to issue the command then I could get it to do everything else.  I would
>greatly appreciate it.
>
    It should be obvious, but often isn't, that anything which will
    cause O.S. CLI commands to be executed is going to be *extremely*
    dependent on the operating system, and hence is *way* beyond the
    scope of any language to define. Some operating systems don't have
    anything that resembles a CLI so there are no "dir" commands or
    anything similar.

    However, be that as it may, I've attached a procedure which will
    take a string containing a Unix command and execute it. (Others in
    this news group were kind enough to pass this on to me.) Note that
    this is only known to work for Unix and the compiler you are using
    needs to have implemented Interfaces.C. If you are working on a
    VMS machine or a WindowsNT machine or almost anything else, this
    procedure won't work without changes - and I have no way of
    knowing what those changes would be without knowing the OS in
    question.

    If this doesn't get your problem fixed, try posting again
    indicating a) the compiler you are using (including version
    number) and b) the operating system/hardware you are running on.
    The more complete the information the more likely you are to get
    some useful help.

    It sounds like you might be trying to build a more friendly shell
    for Unix - a noble ambition. Do you have a plan to make it look
    like some other shell? Or are you designing it from the ground up?

    MDC



with Interfaces.C;

procedure UTIL.Perform_System_Command (
    Command     : in     String ;
    Wait        : in     Boolean := True ;
    Success     :    out Boolean) is
    --
    Return_Code : Integer ;
    --
    function Sys (
        Item    : in     Interfaces.C.Char_Array) return Integer ;
    pragma Import (C, Sys, "system") ;
    --
    package C renames Interfaces.C ;
    --
begin
    --
    if (Wait) then
        Return_Code := Sys (
            Item    => C.To_C ("ksh -c " & '"' & Command & '"'));
    else
        Return_Code := Sys (
            Item    => C.To_C ("ksh -c " & '"' & Command & " &" & '"'));
    end if ;
    --
    if (Return_Code /= 0) then
        Success := False ;
    else
        Success := True ;
    end if;
    --
end UTIL.Perform_System_Command ;



Marin David Condic, Senior Computer Engineer     Voice:     561.796.8997
Pratt & Whitney GESP, M/S 731-96, P.O.B. 109600  Fax:       561.796.4669
West Palm Beach, FL, 33410-9600                  Internet:  CONDICMA@PWFL.COM
===============================================================================
    "Eagles may soar, but a weasle never gets sucked up into a jet engine."
===============================================================================




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1997-10-16  0:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-10-16  0:00 Command issuing Marin David Condic, 561.796.8997, M/S 731-96
  -- strict thread matches above, loose matches on Subject: below --
1997-10-15  0:00 Robert A. Thompson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox