09-25-2012
Quoting from
The New Kornshell Command and Programming Language by Bolsky and Korn (copyright 1995):
Quote:
It is often desirable to pass the name of a variable rather than the value of the variable, as an argument to a function. A reference variable provides a mechanism for providing a local name for this variable. A reference variable is created with typeset -n, or with the preset alias nameref. The name of a reference variable must be an identifier. The value of the variable at the time the typeset -n attribute is specified, defines the variable that will be referenced by the reference variable. For instance, if the variable foo is assigned the value bar, and foo is given the name reference attribute, then each assignment to foo will be an assignment to bar.
There is probably a way to get replace the use of name references using eval, but I have other things I need to do tonight and don't have time to prepare and test an example tonight.
Sorry,
Don
This User Gave Thanks to Don Cragun For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I was wondering if there is anyway to use the curses library with ksh88. I saw Shell Curses function library which says I can use /usr/local/functions/shellcurses on ksh93 but I am on ksh88. I am on a HP-UX box. (0 Replies)
Discussion started by: IMTheNachoMan
0 Replies
2. Shell Programming and Scripting
Hi all!
Does anybody know how can I check if any UNIX installation has implemented ksh88 or ksh93?
Thanks in advance.
Néstor. (3 Replies)
Discussion started by: Nestor
3 Replies
3. Shell Programming and Scripting
Hello,
ksh88 doesn't support ${var:x:y}.
Any alternatives to get substring ?
thanks
Vilius (2 Replies)
Discussion started by: vilius
2 Replies
4. Shell Programming and Scripting
Hello,
I need ksh88 for my linux system - and I don't want pdksh.
Possible to get original ksh 88 binaries or source ?
(I don't need ksh93 which is available)
thanks
Vilius (1 Reply)
Discussion started by: vilius
1 Replies
5. Shell Programming and Scripting
Hi,
With:
# VALUES="one~two~~~"
# echo $VALUES | awk 'BEGIN {FS="~"} {print NF}'
5
I can determine the number of fields.
How to determine the number of fields with a value ?
In this case 2.
Thanks in advance,
ejdv (6 Replies)
Discussion started by: ejdv
6 Replies
6. Shell Programming and Scripting
Hi I tried the following string comparison script in Ksh88
#!/bin/ksh
str1='aC'
str2='ABC'
if
then
echo "Equal"
else
echo "Not Equal"
fi
Though str1 and str2 are not equal the script output says Equal .
Please correct me
Thanks (2 Replies)
Discussion started by: smile689
2 Replies
7. Shell Programming and Scripting
I'm using Ksh88 .
I've last day files in one directory and current month files in another directory , having the same naming convention.
Now i need to compare these folders size , if there is no change in these files then no action to be performed
else if there is a change then i need to call... (1 Reply)
Discussion started by: smile689
1 Replies
8. Shell Programming and Scripting
Hi I tried the following code to FTP the files from test server to dev
#!/bin/ksh
DST=/home/files
cd $DST
ftp -inv 'test_serv101' << EOF
quote USER test
quote PASS test
# File Path on test server
cd /etc/home/Or_Files
ascii
mget curMonth* $DST
quit
EOF
when i try the above code it... (4 Replies)
Discussion started by: smile689
4 Replies
9. Solaris
Hello,
I want to pick a random element from a list, and created these 2 lines, which work very well in ksh93. Unfortunately, I get this "bad substitution" message in ksh88.
I'm wondering if there's an equivalent to the second line of my script.. or if I have to install ksh93 to make this... (8 Replies)
Discussion started by: gfroute
8 Replies
10. OS X (Apple)
I don't know if anyone is interested but I have been meddling with FFT for the AMIGA.
(Sadly we AMIGAns don't have these luxuries through any scripting language.
Below is a Python snippet that uses the builtin 'cmath' module to work with the lowly
Python 2.0.1 for the AMIGA. It is part of a... (0 Replies)
Discussion started by: wisecracker
0 Replies
exec(1) User Commands exec(1)
NAME
exec, eval, source - shell built-in functions to execute other commands
SYNOPSIS
sh
exec [argument...]
eval [argument...]
csh
exec command
eval argument...
source [-h] name
ksh
*exec [arg...]
*eval [arg...]
DESCRIPTION
sh
The exec command specified by the arguments is executed in place of this shell without creating a new process. Input/output arguments may
appear and, if no other arguments are given, cause the shell input/output to be modified.
The arguments to the eval built-in are read as input to the shell and the resulting command(s) executed.
csh
exec executes command in place of the current shell, which terminates.
eval reads its arguments as input to the shell and executes the resulting command(s). This is usually used to execute commands generated as
the result of command or variable substitution.
source reads commands from name. source commands may be nested, but if they are nested too deeply the shell may run out of file descrip-
tors. An error in a sourced file at any level terminates all nested source commands.
-h Place commands from the file name on the history list without executing them.
ksh
With the exec built-in, if arg is given, the command specified by the arguments is executed in place of this shell without creating a new
process. Input/output arguments may appear and affect the current process. If no arguments are given the effect of this command is to mod-
ify file descriptors as prescribed by the input/output redirection list. In this case, any file descriptor numbers greater than 2 that are
opened with this mechanism are closed when invoking another program.
The arguments to eval are read as input to the shell and the resulting command(s) executed.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
EXIT STATUS
For ksh:
If command is not found, the exit status is 127. If command is found, but is not an executable utility, the exit status is 126. If a redi-
rection error occurs, the shell exits with a value in the range 1-125. Otherwise, exec returns a zero exit status.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 17 Jul 2002 exec(1)