09-03-2014
Beware that, if your array contains an element like `rm -Rf ~/` eval will happily execute that code and delete your home directory. It evaluates all shell syntax, not just variables, but things in backticks and $( ) and > and any other possible syntax which might cause a malfunction, create unintended files, and/or blow up with syntax errors.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am using an array (clmlist01). I have 61 of these and have 4 or more references to each one in a block of code that I do not want to have to hardcode. With that being said, I am creating a varible and going through a for loop to create the actually name of each array. The arrays would end up... (3 Replies)
Discussion started by: dsimpg1
3 Replies
2. Shell Programming and Scripting
Dear friends ,
The output file of below script
Pls#!/bin/sh
awk '{
bo = substr($0,13,3)
slm = substr($0,150,8)
slo = substr($0,175,7)
inc = substr($0,97,10)/100
busi = substr($0,83,10)
mth = substr($0,39,2)
yer = substr($0,35,4)
... (2 Replies)
Discussion started by: vakharia Mahesh
2 Replies
3. Shell Programming and Scripting
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)
Discussion started by: alrinno
2 Replies
4. Shell Programming and Scripting
Hello,
Please tell me if there is a better way to get the number of elements from an array that is passed to a function.
This is what works on Solaris 8 (ksh) but it looks odd:
loop_array() {
array_name=$2
b1='\${\#'
b2='}'
nr_elements=`eval echo... (6 Replies)
Discussion started by: majormark
6 Replies
5. Shell Programming and Scripting
I've created a series of arrays named as follows:
row1
row2
row3
.
.
.
row10
Each has 4 elements.
I'm trying to echo the array elements out in a for loop. Here's what I have:
for ((i=1;i<=10;i++))
do
for ((j=1;j<=4;j++))
do
eval out=${row`echo $i`}
echo -n $out (3 Replies)
Discussion started by: swankgd
3 Replies
6. Shell Programming and Scripting
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)
Discussion started by: mohanpadamata
2 Replies
7. Shell Programming and Scripting
Hi.
I´ve a script that should substitude the 8th line in a file called xxx.num6.
The "xxx" is set by an array filled with this command:
j=0
for Par in *.sys ; do
Par=`echo $Par | sed 's/\(.*\).sys/\1/'` ;
Par2="$Par" ; echo "${Par2}"
j=$((j + 1));
done
Now i try... (0 Replies)
Discussion started by: Lock3
0 Replies
8. Shell Programming and Scripting
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)
Discussion started by: rajukv
1 Replies
9. UNIX for Dummies Questions & Answers
Is there a way to print multiple array elements without iterating through the array using bash?
Can you do something like...
echo ${array}and get all those separate elements from the array? (2 Replies)
Discussion started by: jrymer
2 Replies
10. Shell Programming and Scripting
Hello all,
I have following piece of code which is working fine if executed standalone -
date=$1
set -A max_month 0 31 28 31 30 31 30 31 31 30 31 30 31
eval $(echo $date|sed 's!\(....\)\(..\)\(..\)!year=\1;month=\2;day=\3!')
(( year4=year%4 ))
(( year100=year%100 ))
(( year400=year%400 ))... (7 Replies)
Discussion started by: ektubbe
7 Replies
cd(1) General Commands Manual cd(1)
NAME
cd - change working directory
SYNOPSIS
[directory]
DESCRIPTION
If directory is not specified, the value of shell parameter is used as the new working directory. If directory specifies a complete path
starting with or directory becomes the new working directory. If neither case applies, tries to find the designated directory relative to
one of the paths specified by the shell variable. has the same syntax as, and similar semantics to, the shell variable. must have execute
(search) permission in directory.
exists only as a shell built-in command because a new process is created whenever a command is executed, making useless if written and pro-
cessed as a normal system command. Moreover, different shells provide different implementations of as a built-in utility. Features of as
described here may not be supported by all the shells. Refer to individual shell manual entries for differences.
If is called in a subshell or a separate utility execution environment such as:
(which invokes on accessible directories) does not affect the current directory of the caller's environment. Another usage of as a stand-
alone command is to obtain the exit status of the command.
EXTERNAL INFLUENCES
International Code Set Support
Single- and multi-byte character code sets are supported.
Environment Variables
The following environment variables affect the execution of
The name of the home directory,
used when no directory operand is specified.
A colon-separated list of pathnames that refer to directories.
If the directory operand does not begin with a slash character, and the first component is not dot or dot-dot, searches
for directory relative to each directory named in the variable, in the order listed. The new working directory is set
to the first matching directory found. An empty string in place of a directory pathname represents the current direc-
tory. If is not set, it is treated as if it was an empty string.
EXAMPLES
Change the current working directory to the directory from any location in the file system:
Change to new current working directory residing in the current directory:
or
Change to directory residing in the current directory's parent directory:
Change to the directory whose absolute pathname is
Change to the directory relative to home directory:
RETURN VALUE
Upon completion, exits with one of the following values:
The directory was successfully changed.
An error occurred. The working directory remains unchanged.
SEE ALSO
csh(1), pwd(1), ksh(1), sh-posix(1), sh(1), chdir(2).
STANDARDS CONFORMANCE
cd(1)