vAccounts=(ebsemerg ebsemerg2 ebsemerg3) vNumber=1234567
for ((i=0;i<${#vAccounts[@]};i++)); do
printf 'the value of %s is %d\n' "${vAccounts[i]}" $vNumber
done
NB: In Z shell the arrays are 1 based.
Or just foreach:
Code:
vAccounts=(ebsemerg ebsemerg2 ebsemerg3) vNumber=1234567
for e in "${vAccounts[@]}"; do
printf 'the value of %s is %d\n' "$e" $vNumber
done
With pre-POSIX shells that don't support arrays natively
you can emulate such structures with positional parameters:
Code:
set -- ebsemerg ebsemerg2 ebsemerg3
vNumber=1234567
for e in "$@"; do
printf 'the value of %s is %d\n' "$e" $vNumber
done
If you want array indexed by strings (not integers), i.e. associative arrays, you'll need a more sophisticated shell like ksh93, zsh or bash4.
With ksh93 you can use the following syntax:
Code:
a=([vAccount1]=ebsemerg [vAccount2]=ebsemer2 [vAccount3]=ebsemer3)
vNumber=1234567
for k in "${!a[@]}"; do
printf 'the variable %s contains the key %s which has the value %d\n' "$k" "${a[$k]}" $vNumber
done
Hey All,
I'm trying to clean up a variable using sed but It dosn't seem to work. I'm trying to find all the spaces and replace them with "\ " (a slash and a space). For Example "Hello World" should become "Hello\ World". But it does nothing. If I put it directly into the command line it works... (3 Replies)
Hi everyone,
I have a simple question to ask :
In a script that I'm writting, I need to create variables on-the-fly.
For instance, for every iterartion of the following loop a var_X variable should be generated :
#!/bin/ksh
a="1 2 3"
for i in $a
do
var_${i}=$i
echo "${var_$i}"
done
... (1 Reply)
I have run into a wall with my iptables firewall scripting.
I am blocking all of the private side IP addresses on the
WAN interface on systems running NAT. However, if the
system is not running NAT and needs to allow access to
the local LAN on the WAN interface, I need to block all
but one of... (2 Replies)
Hello,
i have another sed question.. I'm trying to do variable substition with sed and i'm running into a problem.
my var1 is a string constructed like this:
filename1 filerev1 filepath1
my var2 is another string constructed like this:
filename2 filerev2 filepath2
when i do... (2 Replies)
Hi,
That might be pretty simple.
How can I generate a variable name and get their value ?
Thanks a lot.
Something like:
>CUSTOMER_NF=26
> object=CUSTOMER
> echo ${object}_NF
CUSTOMER_NF
> echo ${${object}_NF}
ksh: ${${object}_NF}: 0403-011 The specified substitution is... (7 Replies)
file1.ksh
#!/bin/ksh
test5_create="I am a man" # test5 will be dynamic and the value will be passed from command line
a=${1}_create
echo $a # i need the output as "I am a man"
./file1.ksh test5 # i run the script like this
any suggessions guys... (1 Reply)
Hi ,
I have a variable as follows,
Temp=`cat ABC.txt | cut -c5-`
This will yeild a part of the date. say , 200912.
I would like to substitute this variable's value in a filename.
eg: File200912F.zip
when i say File$TempF.zip , it is not substituting.
Any help ?
Thanks in... (2 Replies)
For example I have variable like below
echo $OUTPUT
/some/path/`uname -n`
when I try to use the variable OUTPUT like below
cd $OUTPUT or cd ${OUTPUT}
I am getting bad substituion error message
$ cd $OUTPUT
ksh: cd: bad substitution
$ cd ${OUTPUT}
ksh: cd: bad substitution
... (1 Reply)
Hi,
I have to write a shell script in which I have to substitute a variable within a variable. For example,
var1=aaa
var2=file.$var1.txt
The output should be,
echo $var2
file.aaa.txt
Can someone please help me in getting this. I tried using eval, but it didnt work. I might be using it... (2 Replies)
Hi,
I almost always use back quotes in scripts to assigin output of a command to a variable.
eg: file=`basename a/b/c/d/file`
year_mon=`date +%Y%m`
But the same can be achieved like:
file=$(basename a/b/c/d/file)
year_mon=$(date +%Y%m)
I would like to know if there is... (3 Replies)
Discussion started by: wanderingmind16
3 Replies
LEARN ABOUT OPENSOLARIS
let
let(1) User Commands let(1)NAME
let - shell built-in function to evaluate one or more arithmetic expressions
SYNOPSIS
ksh
let arg...
ksh93
let [expr...]
DESCRIPTION
ksh
Each arg is a separate arithmetic expression to be evaluated.
ksh93
let evaluates each expr in the current shell environment as an arithmetic expression using ANSI C syntax. Variables names are shell vari-
ables and they are recursively evaluated as arithmetic expressions to get numerical values. let has been made obsolete by the ((...)) syn-
tax of ksh93(1) which does not require quoting of the operators to pass them as command arguments.
EXIT STATUS
ksh
ksh returns the following exit values:
0 The value of the last expression is non-zero.
1 The value of the last expression is zero.
ksh93
ksh93 returns the following exit values:
0 The last expr evaluates to a non-zero value.
>0 The last expr evaluates to 0 or an error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO ksh(1), ksh93(1), set(1), typeset(1), attributes(5)SunOS 5.11 2 Nov 2007 let(1)