Exactly this - once the script is run in the currect shell, once in a daughter shell - is reason for the different results.
The line ". ./x.ksh par1 par2" does the following: it starts in the current shell the script x.ksh and passes two parameters. These parameters are passed not to the script but to the process which runs the script. This process is the current process - our login shell. When the script is run again in the same process the two parameters passed to this process are still there. They can be displayed even in the commandline:
On the other hand if we run "./x.ksh par1 par2" we first start a new process, pass the two parameters to this new process, run the script and end the process again. If we cll it agin, another(!) new process is created, which does of course know nothing about the first process and its environment.
Hi there,
first of all, here is my conf of a uname -a
Linux SAMBA 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown
on a fedora machine.
Here is my problem: every once in a while, the line containing root disappears in the /etc/passwd, disabling all logging on my server. Any one have... (0 Replies)
Can some-one give me a view to this :
I have a directory in an unix server, having permissions r-xr-xr-x .This directory is basically a source directory.
Now there is another directory basically the destination directory which has all the permissions.
Note:I log in as not the owner,but user... (5 Replies)
$ echo a.bc | sed -e "s/\|/\\|/g"
|a|.|b|c|
$
Is the behavior of the sed statement expected ? Or is this a bug in sed ?
OS details
Linux 2.6.9-55.0.0.0.2.ELsmp #1 SMP Wed May 2 14:59:56 PDT 2007 i686 i686 i386 GNU/Linux (8 Replies)
Hi,
I was trying to customize this archaic HP-UX box. only shell available is ksh and that too seems to be pretty old and doesn't completely conform to what I read on the web about ksh. Anyway here are my issues:
- I wanted to have a dynamic title on xterm or dtterm. I put the following lines... (2 Replies)
Hi all,
I want to do a very simple thing with sed. I want to print out the line number of a disk I have defined in /etc/exports, so I do:
It's all good, but here's the problem. When I define md0 in a variable, I get nothing from sed:
Why is that? can anybody please help?
Thanks (2 Replies)
Hi All,
I got a strange problem here. I have a perl script which is fetching data from a database table and writing a file with that data.
If i run that script from linux command line, the file it creates is a normal ascii text file without any binary character in it.But... (9 Replies)
Hi all,
I am using HP-UX and I have just noticed that when I log into the network it seems to save the previous windows that were subsequently closed on previous occasions. Does anyone know when I log in, it seems to display these previous windows, e.g. nedit windows open again?
Does... (1 Reply)
Hi all,
I'm having this scenario which for the moment I cannot resolve. :(
I wrote a script to make a dump/export of the oracle database. and then put this entry on crontab to be executed daily for example.
The script is like below:
cat /home/oracle/scripts/db_backup.sh
#!/bin/ksh
... (3 Replies)
Discussion started by: enux
3 Replies
LEARN ABOUT OPENDARWIN
shift
shift(1) User Commands shift(1)NAME
shift - shell built-in function to traverse either a shell's argument list or a list of field-separated words
SYNOPSIS
sh
shift [n]
csh
shift [variable]
ksh
* shift [n]
DESCRIPTION
sh
The positional parameters from $n+1 ... are renamed $1 ... . If n is not given, it is assumed to be 1.
csh
The components of argv, or variable, if supplied, are shifted to the left, discarding the first component. It is an error for the variable
not to be set or to have a null value.
ksh
The positional parameters from $n+1 $n+1 ... are renamed $1 ..., default n is 1. The parameter n can be any arithmetic expression that
evaluates to a non-negative number less than or equal to $#.
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.
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 15 Apr 1994 shift(1)