How to run Unix command with Pipe ( | )?

Dear Friends,
I have to execute the below unix command through java program.
*ps -ewwo pid,args | grep -E "abc.sh|xyz.jar" | gawk '{ print $1 }' | wc -l*
My code to execute this command is,
Runtime run = Runtime.getRuntime();
File workDir = new File("/root/sat");
String psCmd = "ps -ewwo pid,args | grep -E \"abc.sh|xyz.jar \" | gawk '{ print $1 }' | wc -l";
Process process = run.exec(psCmd, null, workDir);
          String line;
          int i = process.waitFor() ;
          if(i == 0) {
          BufferedReader buf = new BufferedReader( new InputStreamReader( process.getInputStream() ) ) ;
          while ( ( line = buf.readLine() ) != null )
               System.out.println("Line - ["+line+"]") ;
          } else {
               BufferedReader stdErr = new BufferedReader(new InputStreamReader(process.getErrorStream()));
               // read the output from the command
               while ((line = stdErr.readLine()) != null) {
               System.out.println(line);
               }When i execute this command, i'm getting output as,
ERROR: Garbage option.
When i analyse the above error, i found that, the PIPE ( | ) command is not supported through java.
Could anyone please help me how to execute the above unix command (with | ) in java?
Thanks in advance,
Sathish

The pipe has to be interpreted by a shell so you need
String[] psCmd =
    "sh",
    "-c"
    "ps -ewwo pid,args | grep -E \"abc.sh|xyz.jar \" | gawk '{ print $1 }' | wc -l"
Process process = run.exec(psCmd, null, workDir);You should also read, re-read and then implement the recommendations in the 4 sections of http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html .

Similar Messages

  • Execute an Unix command with pipe

    Hi,
    How do I execute a unix command with pipe from JAVA runTime.exec(cmd)? for example: "ls -l |wc -l"
    should return number of files. However, there is no output result. If I use "ls -l" as command argument, it gives file list.
    Here is my program:
    public static void main(String[] args) {
    try {
    Runtime runCmd = Runtime.getRuntime();
    System.out.println("sys testing");
    Process retProc = runCmd.exec(args[0]);
    BufferedReader bread = new BufferedReader
    (new InputStreamReader(retProc.getInputStream()) );
    String out = bread.readLine();
    while ( out != null ) {
    System.out.println(out);
    out = bread.readLine();
    DataOutputStream outSt = new DataOutputStream(retProc.getOutputStream() );
    outSt.writeChars(args[1]);
    outSt.flush();
    } catch (Exception ie) {
    ie.printStackTrace();
    Thanks in advance,
    Jeff

    I got my answer !
    No need to reply

  • How to run unix command from Oracle Foms 10g

    OS: UNIX Solaries, Oracle Application Server 10g
    To run shell script from Oracle Forms, I used the following host('/bin/bash /u01/compile.sh') and it works well
    Now, I need to run unix command something like
    host('mv form1.fmx FORM1.FMX') but it's not working
    I tried to append the command "mv form1.fmx FORM1.FMX" to the compile.sh shell script but also it's not working although the rest lines of the shell script is running well
    Edited by: slamonty on Aug 23, 2012 12:36 AM

    Yes, Thank you so much, it works well as follow
    $ /bin/mv /u01/oracle/runtime/test/form1.fmx  /u01/oracle/runtime/test/FORM1.FMX Edited by: slamonty on Aug 23, 2012 9:59 AM
    Edited by: slamonty on Aug 23, 2012 11:14 AM

  • How do run unix command in java

    hi
    All unix command working fine in our java program.
    but i want change user in linux by using java. it's not working.
    "su root" This command onely not working.
    anybody know help me
    This is my ID [email protected]
    This my code
    <% String s = null;
    try{
    Process p = Runtime.getRuntime().exec("su root");
    BufferedReader stdInput = new BufferedReader(new
    InputStreamReader(p.getInputStream()));
    BufferedReader stdError = new BufferedReader(new
    InputStreamReader(p.getErrorStream()));
    out.println("Here is the standard output of the command:\n");
    while ((s = stdInput.readLine()) != null)
    out.println(s);
    catch(Exception e) {}
    %>

    I don't have further info to add to your first post, but think your guess seems quite reasonable. I thought of starting a new thread on the same topic, but think this (question) fits in here, too.
    I have Java code (freeware, not opensoure), intended for Unix, which basically provides the graphical interface and relies on an I/O layer (C + shell scripts) to do most of the work. I have access to the C+shell scripts which are opensource. I ported it to Cygwin and want to use it under Windows (there is no Cygwin native Java VM).
    My problem now boils down to " how to run commands under Unix and what differences are there with Windows". What are the variants?
    I have to guess what the program is doing when I get an IOException at some point. E.g.: a call to shell script may be made in a different way as to a compiled exe in Unix?. I found a way to bypass path problems because forward slashes are also accepted and /cygdrive/c construct can be replace by c:/; shell scripts can be compiled into exes using shc and they work; if symbolic links are replaced by duplication of exe files, they work. What will happen in an instance whereby a process runs a shell script dynamically, through a pipe (the shell script is compiled in the Cygwin/win version and receives parameters) in a construct like:
    pipefp = epopen(cmdbuf,"w"); /* (cmbuf is "makehdr par1 par2 ... ") (makehdr was a shell script and is now compiled exe for Cygwin/Windows) */?.
    Thanks.
    LT

  • How to run UNIX command to a remote SUN machine through Java from Windows

    Dear All:
    I want to write one Java program which will be run on my Windows Machine.
    My Java program will will login in a SUN machine remotely say telnet and run some command.
    I want all those command output in my client windows PC for futher processing.
    Can anyone help me doing this?
    BR,
    P. Gupta

    import java.net.*;
    import java.io.*;
    import java.util.*;
    public class TelnetSocketDemo {
    static String list="";
    static String listArr[], hostArr[];
    static String host="", lhost="";
    public static void main(String[] args)throws IOException
    ExecuteUnixCmd obj=new ExecuteUnixCmd();
    // InetAddress localMachine = InetAddress.getLocalHost();
    // host=localMachine.getHostName();
    list=obj.ExecuteUnixCmdMain();
    int port=getPort(list,"Live");
    System.out.println(port);
    Socket sock = null;
    String prompt=">";
    String output = null;
    try
    // Connect to the PoleStar process.
    sock = new Socket("localhost",port);
    sock.setSoTimeout(60000);
    // Get the I/O streams for the socket.
    PrintWriter out = new PrintWriter(sock.getOutputStream(), true);
    InputStream in = sock.getInputStream();
    // Get to the silent console port.
    // out.println("S");
    // readToPrompt(in,area);
    // Fetch the response to the command.
    out.println("list all");
    output = readToPrompt(in,prompt);
    //System.out.println(output);
    //out.println("quit");
    //output=readToPrompt(in);
    catch (Exception ex)
    String msg = "unable to get Connection for PoleStar";
    finally
    try
    // close socket
    sock.close();
    catch (Exception ex)
    System.out.println(output);
    private static String readToPrompt(InputStream in,String prompt)throws IOExcepti
    on
    byte[] mByte = null;
    int iStrt = 0, iLen = 2000, nBytes = 0;
    StringBuffer buf = new StringBuffer();
    String s = null;
    boolean bNotFinished = true;
    do
    mByte = new byte[2000];
    nBytes = in.read(mByte, iStrt, iLen);
    if (nBytes == -1)
    break;
    // lost our TCP/IP connection
    // bNotFinished = false;
    // Convert byte stream to a string
    s = new String(mByte, 0, iStrt + nBytes);
    if (prompt.equals("") == false)
    if (prompt.equals(">"))
    if (s.indexOf(0x04) != -1)
    bNotFinished = false;
    // the hub sends the prompt at the beginning and the end
    else if (s.indexOf(prompt) != -1)
    bNotFinished = false;
    buf.append(s);
    } while (bNotFinished);
    return buf.toString();
    public static int getPort(String list, String area)
    int port;
    String listArr[],hostArr[];
    String lhost="";
    listArr=list.split(",");
    for(int i =0; i < listArr.length ; i++)
    lhost=listArr;
    hostArr=lhost.split("#");
    if((hostArr[1].equalsIgnoreCase("connectDev20"))&&(hostArr[0].indexOf(area)!=-
    1))
    port=Integer.parseInt(hostArr[2]);
    return port;
    else
    continue ;
    return 0;

  • At CRS-1,how can i use show command with pipe | ?

    HI,ALL
    when I use show command with pipe on the CRS-1,the command invalid
    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line |errors 
                                                                       ^
    % Invalid input detected at '^' marker.
    ========================================================
    But Previously on the cisco 7609,I can use the show command
    GZ-DM-SR-1.MAN.7609#show int | include line |err
    Vlan1 is down, line protocol is down
         0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
         0 packets output, 0 bytes, 0 underruns
         0 output errors, 0 interface resets
    Vlan11 is administratively down, line protocol is down
         0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
         0 packets output, 0 bytes, 0 underruns
         0 output errors, 0 interface resets
    Vlan99 is down, line protocol is down
         0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
         0 packets output, 0 bytes, 0 underruns
         0 output errors, 0 interface resets

    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line |errors 
                                                                       ^
    % Invalid input detected at '^' marker.
    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line |?    

    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line | |?
                                                                        ^
    % Invalid input detected at '^' marker.
    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line | ?
      begin    Begin with the line that matches
      exclude  Exclude lines that match
      file     Save the configuration
      include  Include lines that match
      utility  A set of common unix utilities
      <cr>    
    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line |
    % Incomplete command.
    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line |errors
                                                                       ^
    % Invalid input detected at '^' marker.
    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#                                     
    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line | ?   
      begin    Begin with the line that matches
      exclude  Exclude lines that match
      file     Save the configuration
      include  Include lines that match
      utility  A set of common unix utilities
      <cr>    
    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line |?

    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line | include er$
    Thu Jan 15 22:36:24.120 GMT
    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#
    RP/0/RP0/CPU0:JA-DL-CR-1.MAN.CRS-1#show interfaces | include line           
    Thu Jan 15 22:37:05.013 GMT
    Loopback0 is up, line protocol is up
    Loopback1 is up, line protocol is up
    Loopback6 is up, line protocol is up
    Null0 is up, line protocol is up
    POS0/0/0/0 is up, line protocol is up  (APS not Configured )
    POS0/0/1/0 is up, line protocol is up  (APS not Configured )
    TenGigE0/0/4/0 is up, line protocol is up

  • Powershell: how to run vbs script with switches.

    Background: To remove a specific service, I usually log into a server, go to path c$\Program files\HP... find a specific vbs, and run it using CMD.exe.
    Now, I'm new to powershell, so I'm looking into automating this job. When I use CMD, I run cscript path\serviceinstall.vbs
    -r.
    How do I add cscript switches to powershell?
    IF
    ((test-path -path "servername\C$\Program Files\...") -eq "true")
    invoke-command -scriptblock ""servername\C$\Program Files\...\serviceinstall.vbs -r?

    1. You cannot run VBS as a scriptblock.
    2.  If youactually were to have read the full help ypu would have seen how to use the command.
    3.  Given you initial questin and the vague answers you gave there is nothing any could do to help you.
    If you do not give accurate information you will not likely get answers that are helpful.
    I recommend starting at the beginning and learning PowerShell basics.  If you had done that you would know that a script block is not a quoted string with vbscript in it or the path to a file.
    When working with any technology it is important to read the instructions carefully.  It is also useful to knowhow to do basic research on the technology you are trying to learn.
    There are 15 examples in PowerShell V2 for Invoke-Command.  Here they are as captured directly from PowerShell V2. (The is no update-help on V2. All help is built in.)
    -------------------------- EXAMPLE 1 --------------------------
    C:\PS>invoke-command -filepath c:\scripts\test.ps1 -computerName Server01
    Disks: C:, D:, E:
    Status: Warning, Normal, Normal
    Description
    This command runs the Test.ps1 script on the Server01 computer.
    The command uses the FilePath parameter to specify a script that is located on the local computer. The script runs
    on the remote computer and the results are returned to the local computer.
    -------------------------- EXAMPLE 2 --------------------------
    C:\PS>invoke-command -computername server01 -credential domain01\user01 -scriptblock {get-culture}
    Description
    This command runs a Get-Culture command on the Server01 remote computer.
    It uses the ComputerName parameter to specify the computer name and the Credential parameter to run the command in
    the security context of "Domain01\User01," a user with permission to run commands. It uses the ScriptBlock paramete
    r to specify the command to be run on the remote computer.
    In response, Windows PowerShell displays a dialog box that requests the password and an authentication method for t
    he User01 account. It then runs the command on the Server01 computer and returns the result.
    -------------------------- EXAMPLE 3 --------------------------
    C:\PS>$s = new-pssession -computername server02 -credential domain01\user01
    C:\PS> invoke-command -session $s -scriptblock {get-culture}
    Description
    This example runs the same "Get-Culture" command in a session (a persistent connection) on the Server02 remote comp
    uter. Typically, you create a session only when you are running a series of commands on the remote computer.
    The first command uses the New-PSSession cmdlet to create a session on the Server02 remote computer. Then, it saves
    the session in the $s variable.
    The second command uses the Invoke-Command cmdlet to run the Get-Culture command on Server02. It uses the Session p
    arameter to specify the session saved in the $s variable.
    In response, Windows PowerShell runs the command in the session on the Server02 computer.
    -------------------------- EXAMPLE 4 --------------------------
    C:\PS>invoke-command -computername Server02 -scriptblock {$p = get-process powershell}
    C:\PS> invoke-command -computername Server02 -scriptblock {$p.virtualmemorysize}
    C:\PS>
    C:\PS> $s = new-pssession -computername Server02
    C:\PS> invoke-command -session $s -scriptblock {$p = get-process powershell}
    C:\PS> invoke-command -session $s -scriptblock {$p.virtualmemorysize}
    17930240
    Description
    This example compares the effects of using ComputerName and Session parameters of Invoke-Command. It shows how to u
    se a session to run a series of commands that share the same data.
    The first two commands use the ComputerName parameter of Invoke-Command to run commands on the Server02 remote comp
    uter. The first command uses the Get-Process command to get the PowerShell process on the remote computer and to sa
    ve it in the $p variable. The second command gets the value of the VirtualMemorySize property of the PowerShell pro
    cess.
    The first command succeeds. But, the second command fails because when you use the ComputerName parameter, Windows
    PowerShell creates a connection just to run the command. Then, it closes the connection when the command is complet
    e. The $p variable was created in one connection, but it does not exist in the connection created for the second co
    mmand.
    The problem is solved by creating a session (a persistent connection) on the remote computer and by running both of
    the related commands in the same session.
    The third command uses the New-PSSession cmdlet to create a session on the Server02 computer. Then it saves the ses
    sion in the $s variable. The fourth and fifth commands repeat the series of commands used in the first set, but in
    this case, the Invoke-Command command uses the Session parameter to run both of the commands in the same session.
    In this case, because both commands run in the same session, the commands succeed, and the $p value remains active
    in the $s session for later use.
    -------------------------- EXAMPLE 5 --------------------------
    C:\PS>$command = { get-eventlog -log "windows powershell" | where {$_.message -like "*certificate*"} }
    C:\PS> invoke-command -computername S1, S2 -scriptblock $command
    Description
    This example shows how to enter a command that is saved in a local variable.
    When the entire command is saved in a local variable, you can specify the variable as the value of the ScriptBlock
    parameter. You do not have to use the "param" keyword or the ArgumentList variable to submit the value of the local
    variable.
    The first command saves a Get-Eventlog command in the $command variable. The command is formatted as a script block
    The second command uses the Invoke-Command cmdlet to run the command in $command on the S1 and S2 remote computers.
    -------------------------- EXAMPLE 6 --------------------------
    C:\PS>invoke-command -computername server01, server02, TST-0143, localhost -configurationname MySession.PowerShell
    -scriptblock {get-eventlog "windows powershell"}
    Description
    This example demonstrates how to use the Invoke-Command cmdlet to run a single command on multiple computers.
    The command uses the ComputerName parameter to specify the computers. The computer names are presented in a comma-s
    eparated list. The list of computers includes the "localhost" value, which represents the local computer.
    The command uses the ConfigurationName parameter to specify an alternate session configuration for Windows PowerShe
    ll and the ScriptBlock parameter to specify the command.
    In this example, the command in the script block gets the events in the Windows PowerShell event log on each remote
    computer.
    -------------------------- EXAMPLE 7 --------------------------
    C:\PS>$version = invoke-command -computername (get-content machines.txt) -scriptblock {(get-host).version}
    Description
    This command gets the version of the Windows PowerShell host running on 200 remote computers.
    Because only one command is run, it is not necessary to create persistent connections (sessions) to each of the com
    puters. Instead, the command uses the ComputerName parameter to indicate the computers.
    The command uses the Invoke-Command cmdlet to run a Get-Host command. It uses dot notation to get the Version prope
    rty of the Windows PowerShell host.
    To specify the computers, it uses the Get-Content cmdlet to get the contents of the Machine.txt file, a file of com
    puter names.
    These commands run synchronously (one at a time). When the commands complete, the output of the commands from all o
    f the computers is saved in the $version variable. The output includes the name of the computer from which the data
    originated.
    -------------------------- EXAMPLE 8 --------------------------
    C:\PS>$s = new-pssession -computername Server01, Server02
    C:\PS> invoke-command -session $s -scriptblock {get-eventlog system} -AsJob
    Id Name State HasMoreData Location Command
    1 Job1 Running True Server01,Server02 get-eventlog system
    C:\PS> $j = Get-Job
    C:\PS> $j | format-list -property *
    HasMoreData : True
    StatusMessage :
    Location : Server01,Server02
    Command : get-eventlog system
    JobStateInfo : Running
    Finished : System.Threading.ManualResetEvent
    InstanceId : e124bb59-8cb2-498b-a0d2-2e07d4e030ca
    Id : 1
    Name : Job1
    ChildJobs : {Job2, Job3}
    Output : {}
    Error : {}
    Progress : {}
    Verbose : {}
    Debug : {}
    Warning : {}
    StateChanged :
    C:\PS> $results = $j | Receive-Job
    Description
    These commands run a background job on two remote computers. Because the Invoke-Command command uses the AsJob para
    meter, the commands run on the remote computers, but the job actually resides on the local computer and the results
    are transmitted to the local computer.
    The first command uses the New-PSSession cmdlet to create sessions on the Server01 and Server02 remote computers.
    The second command uses the Invoke-Command cmdlet to run a background job in each of the sessions. The command uses
    the AsJob parameter to run the command as a background job. This command returns a job object that contains two ch
    ild job objects, one for each of the jobs run on the two remote computers.
    The third command uses a Get-Job command to save the job object in the $j variable.
    The fourth command uses a pipeline operator (|) to send the value of the $j variable to the Format-List cmdlet, whi
    ch displays all properties of the job object in a list.
    The fifth command gets the results of the jobs. It pipes the job object in $j to the Receive-Job cmdlet and stores
    the results in the $results variable.
    -------------------------- EXAMPLE 9 --------------------------
    C:\PS>$MWFO-LOg = Microsoft-Windows-Forwarding/Operational
    C:\PS> invoke-command -computername server01 -scriptblock {param($log, $num) get-eventlog -logname $log -newest $nu
    m} -ArgumentList $MWFO-log, 10
    Description
    This example shows how to include the values of local variables in a command run on a remote computer.
    The first command saves the name of the Microsoft-Windows-Forwarding/Operational event log in the $MWFO-Log variabl
    e.
    The second command uses the Invoke-Command cmdlet to run a Get-EventLog command on the Server01 remote computer tha
    t gets the 10 newest events from the Microsoft-Windows-Forwarding/Operational event log on Server01.
    This command uses the "param" keyword to create two variables, $log and $num, that are used as placeholders in the
    Get-EventLog command. These placeholders have arbitrary names that do not need to match the names of the local vari
    ables that supply their values.
    The values of the ArgumentList parameter demonstrate the two different ways to specify values in the argument list.
    The value of the $log placeholder is the $MFWO-Log variable, which is defined in the first command. The value of t
    he $num variable is 10.
    Before the command is sent to the remote computer, the variables are replaced with the specified values.
    -------------------------- EXAMPLE 10 --------------------------
    C:\PS>invoke-command -computername S1, S2 -scriptblock {get-process powershell}
    PSComputerName Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
    S1 575 15 45100 40988 200 4.68 1392 powershell
    S2 777 14 35100 30988 150 3.68 67 powershell
    C:\PS> invoke-command -computername S1, S2 -scriptblock {get-process powershell} -HideComputerName
    Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
    575 15 45100 40988 200 4.68 1392 powershell
    777 14 35100 30988 150 3.68 67 powershell
    Description
    This example shows the effect of using the HideComputerName parameter of Invoke-Command.
    The first two commands use the Invoke-Command cmdlet to run a Get-Process command for the PowerShell process. The o
    utput of the first command includes the PsComputerName property, which contains the name of the computer on which t
    he command ran. The output of the second command, which uses the HideComputerName parameter, does not include the P
    sComputerName column.
    Using the HideComputerName parameter does not change the object. You can still use the Format cmdlets to display th
    e PsComputerName property of any of the affected objects.
    -------------------------- EXAMPLE 11 --------------------------
    C:\PS>invoke-command -comp (get-content servers.txt) -filepath c:\scripts\sample.ps1 -argumentlist Process, Service
    Description
    This example uses the Invoke-Command cmdlet to run the Sample.ps1 script on all of the computers listed in the Serv
    ers.txt file. The command uses the FilePath parameter to specify the script file. This command allows you to run th
    e script on the remote computers, even if the script file is not accessible to the remote computers.
    When you submit the command, the content of the Sample.ps1 file is copied into a script block and the script block
    is run on each of the remote computers. This procedure is equivalent to using the ScriptBlock parameter to submit t
    he contents of the script.
    -------------------------- EXAMPLE 12 --------------------------
    C:\PS>$LiveCred = Get-Credential
    C:\PS> Invoke-Command -ConfigurationName Microsoft.Exchange `
    -ConnectionUri https://ps.exchangelabs.com/powershell `
    -Credential $LiveCred -Authentication Basic `
    -scriptblock {Invoke-Command {Set-Mailbox dan -DisplayName "Dan Park"}
    Description
    This example shows how to run a command on a remote computer that is identified by a URI (Internet address). This p
    articular example runs a Set-Mailbox command on a remote Exchange server. The backtick (`) in the command is the Wi
    ndows PowerShell continuation character.
    The first command uses the Get-Credential cmdlet to store Windows Live ID credentials in the $LiveCred variab the c
    redentials dialog box appears, enter Windows Live ID credentials.
    The second command uses the Invoke-Command cmdlet to run a Set-Mailbox command. The command uses the ConfigurationN
    ame parameter to specify that the command should run in a session that uses the Microsoft.Exchange session configur
    ation. The ConnectionURI parameter specifies the URL of the Exchange server endpoint.
    The credential parameter specifies tle. Whenhe Windows Live credentials stored in the $LiveCred variable. The Authe
    nticationMechanism parameter specifies the use of basic authentication. The ScriptBlock parameter specifies a scrip
    t block that contains the command.
    -------------------------- EXAMPLE 13 --------------------------
    C:\PS>$max = New-PSSessionOption -MaximumRedirection 1
    C:\PS> Invoke-Command -ConnectionUri https://ps.exchangelabs.com/powershell `
    -scriptblock {Invoke-Command {Get-Mailbox dan} `
    -AllowRedirection -SessionOption $max
    Description
    This command shows how to use the AllowRedirection and SessionOption parameters to manage URI redirection in a remo
    te command.
    The first command uses the New-PSSessionOption cmdlet to create a PSSessionOpption object that it saves in the $max
    variable. The command uses the MaximumRedirection parameter to set the MaximumConnectionRedirectionCount property
    of the PSSessionOption object to 1.
    The second command uses the Invoke-Command cmdlet to run a Get-Mailbox command on a remote server running Microsoft
    Exchange Server. The command uses the AllowRedirection parameter to provide explicit permission to redirect the co
    nnection to an alternate endpoint. It also uses the SessionOption parameter to specify the session object in the $m
    ax variable.
    As a result, if the remote computer specified by the ConnectionURI parameter returns a redirection message, Windows
    PowerShell will redirect the connection, but if the new destination returns another redirection message, the redir
    ection count value of 1 is exceeded, and Invoke-Command returns a non-terminating error.
    -------------------------- EXAMPLE 14 --------------------------
    C:\PS>$so = New-PSSessionOption -SkipCACheck
    PS C:\> invoke-command $s { get-hotfix } -SessionOption $so -credential server01\user01
    Description
    This example shows how to create and use a SessionOption parameter.
    The first command uses the New-PSSessionOption cmdlet to create a session option. It saves the resulting SessionOpt
    ion object in the $so parameter.
    The second command uses the Invoke-Command cmdlet to run a Get-Hotfix command remotely. The value of the SessionOpt
    ion parameter is the SessionOption object in the $so variable.
    -------------------------- EXAMPLE 15 --------------------------
    C:\PS>enable-wsmanCredSSP -delegate server02
    C:\PS> connect-wsman Server02
    C:\PS> set-item wsman:\server02*\service\auth\credSSP -value $true
    C:\PS> $s = new-pssession server02
    C:\PS> invoke-command -session $s -script {get-item \\Net03\Scripts\LogFiles.ps1} -authentication credssp -credenti
    al domain01\admin01
    Description
    This example shows how to access a network share from within a remote session.
    The command requires that CredSSP delegation be enabled in the client settings on the local computer and in the ser
    vice settings on the remote computer. To run the commands in this example, you must be a member of the Administrato
    rs group on the local computer and the remote computer.
    The first command uses the Enable-WSManCredSSP cmdlet to enable CredSSP delegation from the Server01 local computer
    to the Server02 remote computer. This configures the CredSSP client setting on the local computer.
    The second command uses the Connect-WSman cmdlet to connect to the Server02 computer. This action adds a node for t
    he Server02 computer to the WSMan: drive on the local computer, allowing you to view and change the WS-Management s
    ettings on the Server02 computer.
    The third command uses the Set-Item cmdlet to change the value of the CredSSP item in the Service node of the Serve
    r02 computer to True. This action enables CredSSP in the service settings on the remote computer.
    The fourth command uses the New-PSSession cmdlet to create a PSSession on the Server02 computer. It saves the PSSes
    sion in the $s variable.
    The fifth command uses the Invoke-Command cmdlet to run a Get-Item command in the session in $s that gets a script
    from the Net03\Scripts network share. The command uses the Credential parameter and it uses the Authentication para
    meter with a value of CredSSP.
    I suggest spending som etime learning the basics.  It will save you a lot of frustration in the future.
    ¯\_(ツ)_/¯

  • How to run JavaFX jar with JRE7 on MAC OS Lion 10.7.5 ?

    I have created a bundled JavaFX application jar with ANT on Windows 8 O.S. , 64 bit machine. I have JavaFx2.0 and Java 1.7.0_09 installed on my Window O.S.
    <target name="CreatingJars" depends="Compiling" description="generate the distribution" >
                        <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"     
                                 uri="javafx:com.sun.javafx.tools.ant" classpath="${env.JAVA_HOME}/lib/ant-javafx.jar"/>
                              <mkdir dir="${WorkingFolder}/temp/libs"/>
                             <copy todir="${WorkingFolder}/temp/libs">
                             <fileset file="${WorkingFolder}/CustomJars/ProjectLib.jar">
                             </fileset>
                             </copy>
                             <copy todir="${WorkingFolder}/temp/libs">
                             <fileset dir="${WorkingFolder}/libs">
                             </fileset>
                        </copy>
                        <fx:jar destfile="${WorkingFolder}/${app.name}.jar">
                        <fx:application mainClass="${main.class}"/>
                        <fx:resources>
                             <fx:fileset dir="${WorkingFolder}/temp/"/>
                        </fx:resources>
                        <fileset dir="${WorkingFolder}/build"/>
                        <fileset dir="${WorkingFolder}/resources"/>
                        </fx:jar>
         </target> When I am trying to run that JavaFX application jar on MAC OS Lion 10.7.5 using
    java -jar application.jar
    It always shows a dialog "The application require a newer version of Java Run-time" with download link. Even I have downloaded and successfully installed it on my MAC machine but it still shows me the same window.
    java -version is always point to 1.6.
    Then I searched for Java Preferences to point the current JRE 1.7 but I could find Java Preferences at Applications -> Utilities -> Java -> Java Preferences.
    I would like to know -- how to run JavaFX jar with JRE7 on MAC OS Lion 10.7.5? Is their any other way to run the JavaFX application JAR with JRE7?

    Do I need to download the whole JAVA 1.7 on MAC to run the JAR? No
    Can not I run the Jar file with Jre7?Yes, you can.
    This may be because I have downloaded the JRE 1.7Yep, that's correct, the java_home command only works for jdk's - sorry for the confusion.
    For jre7+ versions, only a single Oracle jre version is allowed to be installed on the machine at a time - making a tool like java_home redundant for jre checking.
    Weirdly, jre7u10 does not supplant the Apple Java on the command line path by default. If you just type java -v, then the Apple java version will displayed if you have an old Java 6 from Apple and a new Oracle jre7+.
    The Oracle jre is always located under (also somewhat strangely):
    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaTo test jar launching, I used the willow JavaFX browser pre-release jar available here:
    http://code.google.com/p/willow-browser/downloads/detail?name=Willow-0.1-prerelease.jar
    Then I launched the jar from the command line using:
    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar Willow-0.1-prerelease.jar The JavaFX jar ran fine on jre7 with the above machine.
    The test machine was running Mac OS X 8 with Oracle jre7u10 installed as well as the Apple Java 6 runtime, but no Oracle jdk7+ installed.

  • Running Unix Command from WEB-APPLICATION

    Hi all,
    I want to run unix command from a java-based web application. the basic code part is this ---
    public class RunCommand
          public String runIt()
              String s = null, returnString = "";
              Process p=null;
              try
                       Runtime rt = Runtime.getRuntime();
                  p = rt.exec("sh testPOC.ksh");
                  p.waitFor();
                  BufferedReader stdInput = new BufferedReader(new
                       InputStreamReader(p.getInputStream()));
                  BufferedReader stdError = new BufferedReader(new
                       InputStreamReader(p.getErrorStream()));
                  // read the output from the command
                  returnString += "Here is the standard output of the command:<br>";
                  while ((s = stdInput.readLine()) != null) {
                      returnString += s;
                  // read any errors from the attempted command
                  returnString += "Here is the standard error of the command (if any): <br>";
                  while ((s = stdError.readLine()) != null) {
                      returnString += s;
              catch (IOException e)
                  returnString += "exception happened - here's what I know: ";
                  returnString += "error-> " + e.getMessage();
              catch(Exception e)
                returnString += "exception happened - here's what I know: ";
                  returnString += "error-> " + e.getMessage();
              return returnString;
      }this class is kept as an inner class. The control comes to its outer class, from servlet, from which the runit() is called. but the exception is occuring at line of p=rt.exec(.....). it tells "<command name> : not found transaction completed" [got this using getMessage() method].
    i am unable to show(and see, too) the stacktrace, because i don't have access to that test environment and its log. i can't run this in local because its windows one.
    now can anyone tell me, where is the problem. is there any limitation in web application server/container? this was successful when i used command prompt writing a .java file. Please help me. Thanks in advance...

    Friends, i've got, where the problem is.
    when we run a class file directly from a command prompt, we get an environment with that shell window. but for a servlet application running these kind of commands from a class creates kind of child processes. each and every command is executed as a child process of jvm and don't get those environment. we have 'PATH' variable in the environment. when a command (say, 'dir' or 'sh' or 'ls', etc.) is executed, the shell first search for that executable file (i.e. dir / sh / ls) in the given paths in the variable 'PATH'. this is not available for the child commands of jvm. hence the basic commands are searched in the current directory of the jvm and they are failed.
    i solved the problem giving full path of the commands. like :
    p = rt.exec("/bin/sh runningScript.ksh")

  • How java runs in command prompt and why java runs on it

    how java runs in command prompt and why java runs on it

    command prompt was used before the development of IDEs like RAD,eclipse etc.
    its still used for better understanding of the compilation and errors.
    type the java file and save the file(source file) in the bin folder of ur jdk environment with extension .java. the source file must be the one that has the main method declared.
    in the cmd prompt screen , set the path of bin folder.
    eg:C:/program files/jdk(some version)/bin/...
    for compilation,type:
    javac (source file_name).java and press enter
    for running the file:
    java source file_name

  • How to run JavaFX Jar with JRE 7 on MAC OS Lion 10.7.5 ?

    I had java 1.6 installed on my MAC OSX Lion 10.7.5. When I am trying to run that JavaFX application jar
    java -jar application.jar
    It always shows a dialog "The application require a newer version of Java Run-time" with download link. Even I have downloaded and successfully installed it on my MAC machine but it still shows me the same window.
    It installed jre-7u10-macosx-x64.dmg but java -version is always point to 1.6.
    Then I searched for Java Preferences to point the current JRE 1.7 but I could find Java Preferences at Applications -> Utilities -> Java -> Java Preferences.
    I found an Java Icon on System Preference. When I am trying to open that widow it's showing me error -- the java control panel opens in a separate window and nothing happens when we click on Re-open the Java Control Panel.
    http://avats.s3.amazonaws.com/JavaRunningError.txt
    I would like to know -- how to run JavaFX jar with JRE7 on MAC OS Loin 10.7.5? Is their any other way to run the JavaFX application JAR with JRE7?

    To find a copy of LP7 you would need to look for a copy on eBay.. However, the protection method used with LP7 no longer functions so you cannot register it and therefore you cannot use it. unless you have already registered LP7 yourself in the past using the security key dongle provided
    Any version of LP7 from a torrent would be an illegal (and most likely non working) version due to the protection that was used at that time... and so posting about it here, was not be wise.
    So.. thats why my previous answer was so brief... Simply put, you cannot use LP7 unless you already have a validated and registered security dongle... even if you found a copy of LP7 somewhere
    The only practical solution is to find some kind soul who already has a working version of LP7 installed, that you can send the projects to... for them to do the conversion for you.
    I would, but I no longer have LP7 installed here on any of my testbed Macs...

  • How to execute unix command in plsql block( urgent)

    Hi All,
    i want rename the unix folder to New name on update non_employee table . So, please give me idea how to use unix command here.... Please suggest me ASAP ... Its urgent
    CREATE or REPLACE TRIGGER NON_EMPLOYEE_AftUpd_trg
    AFTER UPDATE ON NON_EMPLOYEE
    FOR EACH ROW
    BEGIN
    IF :new.DIST_LIVELINK_PATH <> :old.DIST_LIVELINK_PATH THEN
    rename unixfolder1 to :new.dist_livelink_path.
    end IF;
    END;

    The solution will depend a lot on your Oracle version, which you forgot to mention ;)
    btw shouldn't that be (in pseudocode)
    rename :old.dist_livelink_path to :new.dist_livelink_pathotherwise it will always fail after the first time?
    In Unix that would require the mv command.

  • How to execute unix command line from cocoa?

    how to execute unix command line from cocoa?
    for example, if I want to call "ping" from cocoa, how should I do it? and how can I obtain the return value?
    thank you.
    Power G5 Quad Mac OS X (10.4.3)

    The following article may also help:
    http://cocoadevcentral.com/articles/000025.php
    Mihalis.
    Dual G5 @ 2GHz   Mac OS X (10.4.6)  

  • How to run execute immdiate with variables

    Hi friends,
    How to run execute immdiate with variables in v_stmt below?
    I dont know how to declare the value of i here.
    Set serveroutput on;
    DECLARE
       i        VARCHAR (20);
       v_stmt   VARCHAR2 (100);
       CURSOR c
       IS
          SELECT sqlid FROM temp1;
    BEGIN
       OPEN c;
       LOOP
          FETCH c INTO i;
          EXIT WHEN c%NOTFOUND;
          DBMS_OUTPUT.put_line (i);
          v_stmt := 'select * from table(dbms_xplan.display_cursor('&i',null))'
          execute immediate v_stmt;
       END LOOP;
       CLOSE c;
    END;
    /Regds,
    Kunwar.

    You first need to use a bind variable (named ':v' in SQL statement in my example):
    set serveroutput on;
    DECLARE
       i        VARCHAR (20);
       v_stmt   VARCHAR2 (100);
       CURSOR c
       IS
           -- modified for a quick test
          SELECT sql_id FROM v$sql where child_number > 2;
    BEGIN
       OPEN c;
       LOOP
          FETCH c INTO i;
          EXIT WHEN c%NOTFOUND;
          DBMS_OUTPUT.put_line (i);
          v_stmt := 'select * from table(dbms_xplan.display_cursor(:v,null))';
          execute immediate v_stmt using i;
       END LOOP;
       CLOSE c;
    END;
    /However because your SELECT statement returns several rows you need to adapt your code to process all rows returned (as already suggested in first reply to your message).
    Instead of using PL/SQL, I recommend to generate a SQL file using only SQL and then to run the generated SQL file.
    For example:
    spool edx.sql
    set serveroutput on
    declare
    v_stmt varchar2(100);
    v_q char(1):='''';
    begin
    dbms_output.put_line('spool edx.log');
    for s in (select sql_id from v$sql where child_number >2)
    loop
      dbms_output.put_line('select * from table(dbms_xplan.display_cursor(' || v_q || s.sql_id || v_q || ',null));');
    end loop;
    dbms_output.put_line('exit');
    end;
    spool ofThis generates a SQL file similar to :
    spool edx.log
    select * from table(dbms_xplan.display_cursor('5rygsj4dbw6jt',null));
    select * from table(dbms_xplan.display_cursor('5rygsj4dbw6jt',null));
    select * from table(dbms_xplan.display_cursor('5rygsj4dbw6jt',null));
    select * from table(dbms_xplan.display_cursor('fsbqktj5vw6n9',null));
    select * from table(dbms_xplan.display_cursor('6q42j0018w7t8',null));
    select * from table(dbms_xplan.display_cursor('a5mmhrrnpwjsc',null));
    select * from table(dbms_xplan.display_cursor('3c1kubcdjnppq',null));
    select * from table(dbms_xplan.display_cursor('3c1kubcdjnppq',null));
    select * from table(dbms_xplan.display_cursor('9gkq7rruycsjp',null));
    select * from table(dbms_xplan.display_cursor('f0wj261bm8snd',null));
    select * from table(dbms_xplan.display_cursor('ab3swhv5g138y',null));
    select * from table(dbms_xplan.display_cursor('6vgvyh4xw9c5g',null));
    select * from table(dbms_xplan.display_cursor('ak5crjygnpk60',null));
    select * from table(dbms_xplan.display_cursor('9p6bq1v54k13j',null));
    select * from table(dbms_xplan.display_cursor('19x1189chq3xd',null));
    select * from table(dbms_xplan.display_cursor('7sx5p1ug5ag12',null));
    select * from table(dbms_xplan.display_cursor('730vdzhng6m6g',null));
    select * from table(dbms_xplan.display_cursor('730vdzhng6m6g',null));
    select * from table(dbms_xplan.display_cursor('0v3dvmc22qnam',null));
    select * from table(dbms_xplan.display_cursor('0v3dvmc22qnam',null));
    select * from table(dbms_xplan.display_cursor('a1zv6wju3ftgv',null));
    select * from table(dbms_xplan.display_cursor('7ng34ruy5awxq',null));
    select * from table(dbms_xplan.display_cursor('7ng34ruy5awxq',null));
    select * from table(dbms_xplan.display_cursor('b2gnxm5z6r51n',null));
    select * from table(dbms_xplan.display_cursor('b2gnxm5z6r51n',null));
    select * from table(dbms_xplan.display_cursor('g4gp07gt2z920',null));
    select * from table(dbms_xplan.display_cursor('1gu8t96d0bdmu',null));
    select * from table(dbms_xplan.display_cursor('g00cj285jmgsw',null));
    select * from table(dbms_xplan.display_cursor('g00cj285jmgsw',null));
    select * from table(dbms_xplan.display_cursor('g00cj285jmgsw',null));
    select * from table(dbms_xplan.display_cursor('bn4b3vjw2mj3u',null));
    select * from table(dbms_xplan.display_cursor('38243c4tqrkxm',null));
    select * from table(dbms_xplan.display_cursor('2abjfnvy5rkyg',null));
    select * from table(dbms_xplan.display_cursor('350f5yrnnmshs',null));
    select * from table(dbms_xplan.display_cursor('350f5yrnnmshs',null));
    select * from table(dbms_xplan.display_cursor('3s1yukp05bzg6',null));
    select * from table(dbms_xplan.display_cursor('3s1yukp05bzg6',null));
    select * from table(dbms_xplan.display_cursor('1tgukkrqj3zhw',null));
    exit
    PL/SQL procedure successfully completed.Edited by: P. Forstmann on 20 mars 2013 19:06
    Edited by: P. Forstmann on 20 mars 2013 19:33

  • How to run hardware diagnostic with the help of terminal?

    how to run hardware diagnostic with the help of terminal? any cmds

    Macs newer than 10.7's release just need to boot with the 'D' key.  
    Otherwise you need to find the original installer disk of the Mac, or call AppleCare for it to be able to run the hardware diagnostic.

Maybe you are looking for