Find the answer to your Linux question:
Results 1 to 4 of 4
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    bash, command line arguments


    The variable OUTPUT remains contniues to be tied to ${6} even when there are 8 command line arguments given. The if statements sould reset OUTPUT to ${7} and FREQUENCY to ${6} but it will not. I need this script to configure dummy config file for radio bridges and access points. It works fine with the bridges but when I run it for the APs and I need the extra FREQUENCY variable it doesn't work, OUTPUT continues to be ${6}. Any ideas?

    Code:
    #/bin/bash
    #
    # example: ./configure input-file, SSID, IP, device-name, gateway, frequency, output-file
    #
    FILE=${1}
    SSID=${2}
    IP=${3}
    DEVICE=${4}
    GATEWAY=${5}
    FREQUENCY=""
    OUTPUT=${6}
    
    if [[ ${#} -eq 8 ]]; then # {
            FREQUENCY=${6}
            OUTPUT=${7}
    fi
    sed -e "s/\(empty-ssid\).*/${SSID}/g"      \
        -e "s/192\.168\.1\.20$/${IP}/g"        \
        -e "s/\(NanoBridge M.\)/${DEVICE}/g"   \
        -e "s/empty-frequency/${FREQUENCY}/g"  \
        -e "s/\(192\.168\.1\.1\).*/${GATEWAY}/g" ${FILE} > ${OUTPUT}
    #END#

  2. #2
    I just ran your script (excluding the sed line) and it seems to work.

    Are you sure you're actually putting 8 arguments in the line? Your example only shows 7.

    Also, I'm not sure you intend to separate the arguments with commas

  3. #3
    hi,

    Code:
    $ myFunc(){ one="$1" two="$2" three="$3" four="$4" five="$5" ; (($#==8)) && six="$6" seven="$7" || seven="$6"; echo "seven = $seven";}
    $ myFunc 1 2 3 4 5 6 7 8
    seven = 7
    $ myFunc 1 2 3 4 5 6 7
    seven = 6

  4. $spacer_open
    $spacer_close
  5. #4
    Linux Engineer
    Join Date
    Jan 2005
    Location
    Saint Paul, MN
    Posts
    788
    How many different threads do you need for the same program???? This is at least the third one for this program.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •