Bash number of command line args....

Hi,
Is there a way in bash to get number of command line args ...
atm I am using $1 but of course if you pass a command like uname -a you need two?
wondered if there is a $<foo> that ill give number of args passed?
EDIT looks like '$#' emmmm lets see....

woah!!! ok thanks ..... $# gives me number of args ... will check it out
$1 $2 > /tmp/cmd
messy way.....

Similar Messages

  • Include command line args in executable jar?

    Hello all,
    I'm trying to package up some software which takes 2 command line args to run (for example, java -jar prog.jar FooBar 3.14159). I'm using a utility called Jar2Exe to wrap it up into an exe (still needs JRE to run, but it's nicer packaging for distribution).
    My question is, how can I included command line arguments in the jar? Or can I? Or, are there any exe-wrapping utilities out there that will allow me to accomplish this?
    Thanks,
    -Thok

    Thok wrote:
    Hello all,
    I'm trying to package up some software which takes 2 command line args to run (for example, java -jar prog.jar FooBar 3.14159). I'm using a utility called Jar2Exe to wrap it up into an exe (still needs JRE to run, but it's nicer packaging for distribution).
    My question is, how can I included command line arguments in the jar? Or can I? Or, are there any exe-wrapping utilities out there that will allow me to accomplish this?
    Thanks,
    -ThokOkay, did some more research... It appears you can't specify command line options in a jar, but if you package it into an exe, you can--depending on what utility you use to wrap it, that is. I downloaded a free one (Launch4j) and it does the trick.
    -Thok

  • Wrong to process command line args in a loop?

    I tried to process my command line args like this:
    int[] rgb = {0,0,0};
              for(int i=1;i<3;i++)
                   rgb[i-1] = Integer.parseInt(args);
    I enter six args where args 1 to 3 are ints and not zero, but rgb[2] always ends up being zero. I had to do away with the loop and write out three assignment statements, but if I had ten or more args that would be a headache! Does anyone know why this is happening? I'm using JDK 1.3.1_15.

    for(int i=0;i<3;i++)
       rgb[i] = Integer.parseInt(args);
    Look closely and make sure you understand the differences between my code and yours:
    * i starts at 0, not 1
    * rgb uses i for index, not i - 1.
    Why would you have rgb using i -1 and args using i?
    Now, if you have an arg [i]before the RGB args, then it would make sense for args' index to be different than rgb's. In that case, you might have i-1 and i, or i and i+1, etc. depending on how you structure your loop.
    The main problem is that you had i=1; i<3, which will go through the loop body for i=1 and i=2 only. Make sure you understand why.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Command line args

    I have this program and I need to use command line args which
    will print ell . this program does this but I am using
    substring instead of command line args.
    public class h11 {
    public static void main (String [] args ) {
    String greeting = "Hello";
    String h11 = greeting . substring (1, 4);
    System.out.println( h11);
    output: ell
    Anyone..

    First off, the index of characters in a String is 0 based so in the string "Hello" you have the following;
    char 0 = "H"
    char 1 = "e"
    char 2 = "l"
    char 3 = "l"
    char 4 = "o"
    String.substring(start, end) is first inclusive and last exclusive so the parameters (1, 4) would return characters 1, 2 & 3 but not 0 or 4.
    To get the whole word Hello (not withstanding that that's the entire string) you would want greeting.substring(0,5) however that would generate an index out of bounds error because 5 isn't a valid index for that string. So, here's a small sample program to show how to do what I think you're after.
    public class ParmsTest{
         public static void main(String[] args){
              if( args.length > 0 ){
                   String parm = null ;
                   int end = 0 ;
                   int start = 0 ;
                   for( int i=0; i< args.length; i++ ){
                        parm = args[i] ;
                        if( parm.length() > 4 ){
                             end = 4;
                        else{
                             end = parm.length() - 1 ;
                        if( end > start ){
                             System.out.println( parm.substring(start, end) ) ;
                        else{
                             System.out.println( "Nothing to get" ) ;
              System.out.println( "Finished processing parameters" ) ;
    }It's a bit more complicated than your sample, but it also checks to see if there were any parameters, and it checks to see if the length we're trying to get is valid. Lastly it checks to see if there was anything to get before trying to print it. If it doesn't find anything to print it prints a message saying so.
    Here's the question I have for you. Why? Why did I go to this trouble?

  • What is happening about: The GNU Bourne Again Shell (Bash) is a command line utility widely used in many Unix-based operating systems including Linux and OS X.  Researchers have discovered a critical flaw in Bash which could allow remote code executi

    Authoritative advice today:
    The GNU Bourne Again Shell (Bash) is a command line utility widely used in many Unix-based operating systems including Linux and OS X.
    Researchers have discovered a critical flaw in Bash which could allow remote code execution by an unauthenticated user
    APPLE response?

    Also see:
    http://www.macrumors.com/2014/09/26/apple-os-x-users-safe-bash-flaw-update-soon/
    If you are not running a web server
    If you have not enabled CUPS web interface
    If you do not allow anonymous users to ssh into your Mac.
    If all are no, they you are not at risk.
    This IS a very serious bug for web servers, but the typical consumer Mac user is not at risk.

  • Sun Studio 12 - Can't specify command line args while profiling

    New to Sun Studio development environment, and having trouble profiling my application. I have specified command-line arguments for both Debug and Release builds in Project/Configuration Properties/Runninjg/Arguments and this works fine when running the project from within the IDE. However when I attempt to profile the application through IDE Advanced/Advanced Profiling/Start, my application is launched with no command line arguments. So far I have been unable to find any place to define command line arguments for the program when run using the profiler. Any insights would be greatly appreciated.
    Regards,
    Chad.

    Yes, there is a bug. I reproduced the problem using a sample project Welcome. If I run it without profiling, the program prints correct arguments:
    Welcome ...
    Arguments:
    1: arg 1
    2: arg 2
    [Press Enter to close window] If I run it with profiling "Advanced->Advanced Profiling->Start", the program prints wrong arguments:
    Running "/export/home/SunStudio/SUNWspro/prod/bin/collect  -d /export/home/nikm/SunStudioProjects/Welcome/nbproject/private/experiments -o test.1.er -A on   -p on  -S on  /export/home/nikm/SunStudioProjects/Welcome/dist/Debug/welcome arg 1 arg 2" in /export/home/nikm/SunStudioProjects/Welcome
    Creating experiment database /export/home/nikm/SunStudioProjects/Welcome/nbproject/private/experiments/test.1.er ...
    Welcome ...
    Arguments:
    1: arg
    2: 1
    3: arg
    4: 2
    5: null
    Run successful. Exit value 0.Note, it got 5 arguments instead of 2.
    So, there are two bugs:
    1. argument with spaces is transformed to several arguments.
    2. a "null" argument is added to the list.
    I'll file this bug and let you know the number.
    A workaround is to ignore the last argument in your
    program if it is "null", but this is a very ugly workaround :-)
    Thanks,
    Nik

  • Passing command line args

    I'm a beginner in java and I need to know now to write the code that takes in a randon number of numbers at the command line and stores them in an array
    ie. the program is called number and when I run it, it has to take in the numbers at the command line
    ie. java numbers 12 13 14 15 19 1
    then these numbers are to be stored in an array
    How can I do this??
    Thanking you
    Tom

    public class Numbers {
        public static void main(String[] args) {
            // Convert to integers
            int[] param = new int[args.length];
            for ( int cnt = 0; cnt < args.length; cnt++ ) {
                try {
                    param[cnt] = Integer.parseInt(args[cnt]);
                } catch (NumberFormatException nfe) {
                    System.err.println("Argument " + cnt + " is not integer, using '-1'");
                    param[cnt] = -1;
            // use integers ...
    }

  • About Command line args

    there is command line argument fir integer like Integer.parseInt(args[0]); can we write same for "char" and" double" also like "Double.parseDouble" or else......

    this has nothing to do with command line arguments
    but yes, all the primitive wrapper classes can parse back their primitive
    Learn to use the API, it's your friend
    http://java.sun.com/javase/6/docs/api/

  • Accepting Command Line args

    I am new to java and am trying to accept a integer from the command line and am completely stumped? How to a Output a Request for the number and then accept the number from the command line. Thanks

    warner: its ok. you will have a better day soon. I have some homework. Can you help me? I post it
    My code does not work
         private void test(int number)
              int half =  number/2;
              int copy =  half * 2;
              if (copy = number) System.out.println("odd");
              else System.out.println("even");
         }No matter what number it is always odd

  • Bash: wrapping long command line [SOLVED]

    I'm trying to configure my bash to wrap long command lines.  I am looking for a behaviour similar to tcsh where, at the border of the window,  the command is continued on the next line.  In bash, the command continues at the begining of the same lines wich is messy.  I tried using
    set horizontal-scroll-mode on
    in my ~/.inputrc but the continuation doesn't start at the windows border. I can post screenshots if that would help.
    Thanks.

    putting the line in .bashrc have no effect.
    Here is my .bashrc
    export EDITOR=emacs
    export PAGER=less
    export LESS="-f -r"
    export BROWSER=firefox
    PS1='[33[01;34m]#[33[00m] 33[01;31m]u@H[33[00m]33[01;39m] w $33[00m] '
    # create an xauth key for root user
    umask 377
    /usr/X11R6/bin/xauth extract /tmp/user.xauth $DISPLAY
    umask 022
    #set horizontal-scroll-mode on
    source ~/.aliases
    my .bash_profile
    . $HOME/.bashrc
    my .inputrc
    "e[A": history-search-backward
    "e[B": history-search-forward
    set show-all-if-ambiguous on
    set page-completions off
    set completion-query-items 10000
    set horizontal-scroll-mode on
    The screenshots:
    With tsch (what I'm looking for)
    With set horizontal-scroll-mode off:
    If I continue to press the 'a' key, it overwrite the whole line and wraps at the window border.
    With set horizontal-scroll-mode on:
    It wraps 2 inches before reaching the window border.
    [/img]

  • Reading directory path as command line args

    Hello,
    I'm trying to write a simple java web server that serves files from a specified directory over a specified port no. (both specified at the command line).
    I am just wondering if any one has any advice on how to handle the directory argument and how check that it is valid etc.
    Thanks
    Gary

    Take a look at the File class, and the method isDirectory, and exists.
    Kaj

  • Environmental variables as command line args

    Hello, all,
    I would like to pass an environmental variable as a command line argument for a java program.
    Example:
    java MyClass $MY_VARIABLE
    However, it actually passes "$MY_VARIABLE", and not the value of MY_VARIABLE. I know that I can use java -D(MY_VARIABLE=SOMETHING) and get it using System.getProperty ("MY_VARIABLE");
    However, I would prefer it the first way, actually passing the variable inside command line. Is there a way to do this?
    Thank you,
    Elana

    Nevermind... Error in my code... It works
    Thank you

  • Command line args from java to C++

    Hi
    I want to pass command line arguemnts argc and argv from java to C++. I have browsed the net and most of them suggested that I declare the jni statement with jObjectarray.
    I saw an example at http://www.csc.calpoly.edu/~fouzi/crossroads/Arguments.c
    It said
    #include "/home/java/linux/jdk118/include/jni.h"
    #include "Arguments.h"
    #include <stdio.h>
    JNIEXPORT void JNICALL
    Java_Arguments_setArgs (JNIEnv *jenv, jobject job, jobjectArray oarr)
    /* obtain the size the the array with a call to the JNI function
    GetArrayLength()                              */
    jsize argc = (*jenv)->GetArrayLength(jenv, oarr);
    /* Declare a char array for argv */
    char const* argv[128];
    int i;
    for (i = 1; i < argc + 1; i++) {
    /* obtain the current object from the object array */
    jobject myObject = (*jenv)->GetObjectArrayElement(jenv, oarr, i-1);
    /* Convert the object just obtained into a String */
    const char str = (jenv)->GetStringUTFChars(jenv,myObject,0);
    /* Build the argv array */
    argv[i] = str;
    /* print the argv array to the screen */
    printf ("argv[%i] = %s\n",i,argv);
    /* Free up memory to prevent memory leaks */
    (*jenv)->ReleaseStringUTFChars(jenv, myObject, str);
    // Increment argc to ajust the difference between Java and C arguments
    argc++;
    // Call a pipeline simulator function which uses command line arguments
    start(argc,argv);
    return;
    That is what I have where the start method is declared like this:
    void start(int argc, /* Argument count */ char argv[] / Argument strings */) {
    But I get a warning when I build the C routine. The warning arises when I am calling the start method.
    The warning says:
    f:\jni\dsaccess.c(711) : warning C4090: 'function' : different 'const' qualifiers
    f:\jni\dsaccess.c(711) : warning C4024: 'start' : different types for formal and actual parameter 2
    Can you help?
    Thanks
    Lakshmi

    1. Your array building looks bogus: Are you missing an index?
    2. You claim to be calling a "method". Are you? Or is it a subroutine?

  • SQLLDR Command line arg question.

    Is there a way to override , from the command line,
    the table_name of the ...
    INTO TABLE table_name
    ... clause of SQLLDR's LOAD statement?
    ie.
    If my control file looked like this ...
    LOAD DATA
    INFILE *
    APPEND
    INTO TABLE my_table_1
    could I have data loaded into my_table_2 like so ...
    sqlldr scott/tiger@test TABLE=my_table_2
    ... I know that TABLE= will not work. But is there
    a way to do something like this?

    oops! ignore this post

  • Number of command line arguments

    Hi All,
    Can anyone tell me how many command line arguments can we pass in java at one time?
    Like if i have a pgm EchoArgs, i can run it using ...
    D:\>java EchoArgs first second third fourth
    and so on. How many argumentts can i pass?
    Thanks & Regards
    Soni

    args are stored in String[] and max length of a java array is specified by Integer.MAX_VALUE= 2**31-1, therefore, theoritically it can support arguments upto that value, however, in all practicality, it will be limited by capability of shell and memory available to jvm.
    my 2 cents,
    -BJ

Maybe you are looking for

  • RCIPE00: GLT2 201 Balancing field bus.area in line item not filled

    Dear Guru, We transfer posting payroll to FI with journal Dr    Vendor Non Trade 1 Dr    Vendor Non Trade 2 Dr    Vendor Non Trade 3 Cr    Cross welfare (balance sheet acct.)    Bus.area SBY Cr    Cross welfare (balance sheet acct.)    Bus.area CMO T

  • Design Guidelines Needed

    I'm currently part of project which requires the implementation of Analytical Platform for a logistics domain. We have identifed some KPIs that has to be implemented within Analytical Platform. In addition there have also been request from users to h

  • DMM SuperUser URL :8080/dmsadmin/admin/login redirects and can't access

    For some reason I can no longer access the superuser admin for the DMM. When we connected the DMM to LDAP we had to start using  http://SERVERADDRESS:8080/dmsadmin/admin/login Where I go there it redirects to https://SERVERADDRESS.com:8443/dmsadmin/l

  • Jumbled ad image shows up on transparent backgrounds

    On any page with a transparent background, a jumbled image from an ad shows up. It also peeks out through transparent parts of images etc. and won't go away even if I kill Firefox and restart it. A picture is [http://thsi.org/firefox.jpg here]; the p

  • What is SMB/CIFS? Why does window ask for File System Authentication

    Set up: G5 dual processor tower w 2.5 GB sdram running OS 10.4.11 Connected to MacBookPro 2.4 GHz IntelCore 2 Duo w 4 GB 667 MHz DDR2 SDRAM running OS 10.5.4 via Airport. MacBookPro does not show up on Network from G5. But G5 tower is connected from