Sponsored Content
Top Forums Shell Programming and Scripting Passing Command Line Args in a Single Variable? Post 302685863 by Corona688 on Monday 13th of August 2012 12:39:36 PM
Old 08-13-2012
Hmmm. One way you can avoid quotes within quotes, and keep everything intact including spaces, is using the $1 $2 ... arguments. This will override your $1 $2 ... variables but if you're not using them anyway...

Code:
set -- # Set arguments completely blank
set -- a b c
echo $1 # should print a
echo $2 # should print b

set -- "a b" c
echo $1 # should print a b
echo $2 # should print c

# "$@" is a special var that ought to expand arguments w/o splitting
set -- "$@" "third arg" 
echo $1 # should print a b
echo $2 # should print c
echo $3 # should print third arg

So whenever you get a new argument, you can do set -- "$@" "next arg" "another arg" "Etc"

To use the arguments in order withour rearrangement or splitting, you can do $command "$@"

Again, note that "$@" is special. It does split, unlike other things in double-quotes -- but only on arguments, not on spaces, so the exact arguments you give are preserved.

And because of the way shell handles quotes, --arg="whatever" actually gets passed as --arg=whatever anyway. You do not need to insert quotes into there as long as no extra splitting happens, which will never happen with "$@".

Last edited by Corona688; 08-13-2012 at 01:49 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Passing the command line argument in a variable

Hi, I am new to unix. Is their a way to pass the output of the line below to a variable var1. ls -1t | head -1. I am trying something like var1=ls -1t | head -1, but I get error. Situation is: I get file everyday through FTP in my unix box. I have to write a script that picks up first... (1 Reply)
Discussion started by: rkumar28
1 Replies

2. UNIX for Dummies Questions & Answers

required command line args

Hello, How do I make a command line argument required using getopts? Thanks. (6 Replies)
Discussion started by: yoi2hot4ya
6 Replies

3. Programming

Command line args

My program usage takes the form for example; $ theApp 2 "one or more words" i.e. 3 command line arguments; application name, an integer, some text My code includes the following 4 lines: int anInteger; char words; sscanf(argv, "%d", &anInteger); sscanf(argv, "%s", &message); Based... (2 Replies)
Discussion started by: enuenu
2 Replies

4. UNIX for Dummies Questions & Answers

command line args

I am trying to print command line arguments one per second. I have this while do echo "6" shift echo "5" shift echo "4" shift echo "3" shift echo "2" shift echo "1" shift done (2 Replies)
Discussion started by: skooly5
2 Replies

5. UNIX for Dummies Questions & Answers

command line args 2

I have this while loop and at the end I am trying to get it to tell me the last argument I entered. And with it like this all I get is the sentence with no value for $1. Now I tried moving done after the sentence and it printed the value of $1 after every number. I don't want that I just want... (2 Replies)
Discussion started by: skooly5
2 Replies

6. Shell Programming and Scripting

How to retrieve command line args one by on.

Hi, I have to store all the command line arguments into an array. I have the following code. ********************** #! /bin/sh set -A arr_no_updates i=1 while do arr_no_updates=$($i) echo ${arr_no_updates} i=$(($i+1)) done**************** (1 Reply)
Discussion started by: little_wonder
1 Replies

7. Shell Programming and Scripting

command line args in unix

Hi, i have a perl script named test.pl. It is executed as cat *.log|test.pl i need the complete command line args. I tried using basename $0 but im getting test.pl only but not cat *.log... Can anyone help me on this. Thanks in advance (3 Replies)
Discussion started by: niteesh_!7
3 Replies

8. Emergency UNIX and Linux Support

Cut | command line args

Hi, Can you please hint me how to achieve the below? Input: $./script.sh start 1 2 Internally inside the script i want to set a single variable with $2 and $3 value? Output: CMD=$1 ARGS=$2 $3 --VInodh (10 Replies)
Discussion started by: vino_hymi
10 Replies

9. Shell Programming and Scripting

Reading of variable in a single line command

Hi All, Below is a sample command that I can run without any problem in the command line. Command Line dtToday=`date +%Y%m%d`; ls -ltr ./filename_${dtToday}.txt -rw-r--r-- 1 monuser oinstall 0 Jan 18 11:02 ./filename_20130118.txt But once I put that command line in file (list.txt) and... (3 Replies)
Discussion started by: padi
3 Replies

10. Shell Programming and Scripting

Passing the value of variable which is read from command line in called script

Hi, I am calling a Perl script in my shell script. When Perl script is executed it asks for a answer to be entered by user from terminal. How can i pass that value from my shell script ?? I know I can change perl script to default the answer but i dont have access to do that so only option i... (5 Replies)
Discussion started by: varun22486
5 Replies
ipentry(n)						    An IP address entry widget							ipentry(n)

__________________________________________________________________________________________________________________________________________________

NAME
ipentry - An IP address entry widget SYNOPSIS
package require Tcl 8.4 package require Tk 8.4 package require ipentry ?0.3? ::ipentry::ipentry pathName ?option value...? ::ipentry::ipentry6 pathName ?option value...? pathName complete pathName get pathName insert iplist pathName icursor index pathName configure option value... pathName cget option _________________________________________________________________ DESCRIPTION
This package provides a widget for the entering of a IP address. ::ipentry::ipentry pathName ?option value...? Creates a new IPv4 ipentry widget and configures it with the given options and their values. ::ipentry::ipentry6 pathName ?option value...? Creates a new ipentry widget for the entry of an IPv6 address. All options are the same as the IPv4 widget. Each widget created with the command above supports the following methods: pathName complete Returns a boolean value. True indicates that the entry contains a complete IP address, meaning all fields have a value. In some cases IPv6 address are valid when fields are missing. You will need to do your own validation to detect this. pathName get Returns the contents of the entry as a list consisting of 4 or 8 elements. pathName insert iplist IPv4 Takes a list of 4 elements and inserts one into each quad of the entry, in order. All values in the list must be empty or integers. Values outside the range 0 to 255 are modified to be within the range. IPv6 Takes a list of 8 elements and inserts one into each quad of the entry, in order. All values in the list must be empty or 1 to 4 hex digits. pathName icursor index Sets the position of the widgets insertion cursor. Only integer values between 0 and 15 are valid for ipentry and 0 to 31 for ipen- try6. Setting the icursor will only have an effect if the widget already has the input focus. pathName configure option value... Modifies the configuration of the widget. For options and their meaning see the widget options section. pathName cget option Returns information about the current configuration of the widget, for the specified option. For options and their meaning see the widget options section. WIDGET OPTIONS
Command-Line Switch: -textvariable Database Name: textvariable Database Class: Variable The name of a variable which holds the value of the IP address. The value must be a string of the form NNN.NNN.NNN.NNN for IPv4 or HHHH:HHHH:HHHH:HHHH:HHHH:HHHH:HHHH:HHHH for IPv6 where H is a hex digit. The variable will be modified to represent a valid IP address if it is not already. Command-Line Switch: -state Database Name: state Database Class: State Specifies one of three states for the entry: normal, disabled, or readonly. Command-Line Switch: -font Database Name: font Database Class: Font Command-Line Switch: -bd Database Name: borderWidth Database Class: BorderWidth Command-Line Switch: -fg Database Name: foreground Database Class: Foreground Command-Line Switch: -bg Database Name: background Database Class: Background Command-Line Switch: -relief Database Name: relief Database Class: Relief Command-Line Switch: -highlightthickness Database Name: highlightThickness Database Class: HighlightThickness Command-Line Switch: -highlightcolor Database Name: highlightColor Database Class: HighlightColor Command-Line Switch: -highlightbackground Database Name: highlightBackground Database Class: HighlightBackground Command-Line Switch: -selectbackground Database Name: selectBackground Database Class: Background Command-Line Switch: -selectforeground Database Name: selectForeground Database Class: Foreground Command-Line Switch: -selectborderwidth Database Name: selectBorderWidth Database Class: BorderWidth Command-Line Switch: -disabledbackground Database Name: disabledBackground Database Class: DisabledBackground Command-Line Switch: -disabledforeground Database Name: disabledForeground Database Class: DisabledForeground Command-Line Switch: -readonlybackground Database Name: readonlyBackground Database Class: ReadonlyBackground Command-Line Switch: -insertbackground Database Name: insertBackground Database Class: Background Standard widget options. See options for a description of their meanings and values. KEYWORDS
entry, ip address ipentry 0.3 ipentry(n)
All times are GMT -4. The time now is 01:33 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy