When you make a script executable and invoke with ./myscript, you are specifying the path to the script (i.e. "." - the current directory). The script will then be interpreted by whatever interpreter you've sepcified in your shebang line (#!/bin/sh, for example) at the top of the script. This script will be executed in a child shell, and any variables set in the parent shell that aren't exported will not be available to the child. Also; even if you export variables in your script, they still won't exported "up" to the parent.
If you had the current directory (".") at the end of your PATH, i.e. PATH=$PATH:. you could then omit the ./ part. This is particularly bad form, and is a security risk, so I would err against this under all circumstances! It's far safer to explicity say you want to execute a script in the current directory by specifying the path (./).
When you type . ./ you are executing the commands contained within the script in the current environment, so that, for example, any variables set in the current environment that aren't exported become available to your script, and any variables set in your script become available in the current environment... observe...
ehe may i know what are the difference between Unix & Linux, and what are the advantages of having Unix as well as disadvantages of having Unix or if u dun mind i am dumb do pls tell me what are the advantages as well as the disadvantages of having linux as well. thanks (1 Reply)
:confused: Hi All
Can anyone help me in finding the answer of the question mentioned below.
What is the difference between Unix & linux ?
Thanks in Advance to all
CSaha (1 Reply)
I've come stuck when I was making sure the hour of the day was not been two times so that the rest of the script could not be executed.
Seems simple enough.
I used the -a to join the two conditions together and it would run if the conditions was t/f ( it is only supposed to run if was t/t).... (3 Replies)
Hi,
what is the difference btwn s and S in setuid , access permissions.
I have to make to change the access permissions of a file to rwsr_xr_r
but if i type in 4655 it changes the file to rwSr_xr_r .
How can I make this change ?
Please suggest. (2 Replies)
Hi All,
Can anyone tell me the difference between flavour & distribution?
As we say that - AIX, Linux, Solaris etc are the flavours of Unix & fedora, ubuntu, suse etc are the distributions of linux.
Can anyone explain me, why it is called so.
Thanks in advance.
Amol (6 Replies)
Hello All,
I was having a look on threads on the Forum about time calculation but didn't find exactly this issue.
For instance, if we have these 2 dates, begin & end :
20100430235830
20100501000200
Is there anyway, awk, ksh, perl to calculate the difference in sec and get for... (6 Replies)
Hi All,
Can anyone please help me understanding what the difference between the below two?
1. script.sh &
2. nohup script.sh & (2 Replies)
Discussion started by: Anupam_Halder
2 Replies
LEARN ABOUT DEBIAN
escape
escape(1) Mail Avenger 0.8.3 escape(1)NAME
escape - escape shell special characters in a string
SYNOPSIS
escape string
DESCRIPTION
escape prepends a "" character to all shell special characters in string, making it safe to compose a shell command with the result.
EXAMPLES
The following is a contrived example showing how one can unintentionally end up executing the contents of a string:
$ var='; echo gotcha!'
$ eval echo hi $var
hi
gotcha!
$
Using escape, one can avoid executing the contents of $var:
$ eval echo hi `escape "$var"`
hi ; echo gotcha!
$
A less contrived example is passing arguments to Mail Avenger bodytest commands containing possibly unsafe environment variables. For
example, you might write a hypothetical reject_bcc script to reject mail not explicitly addressed to the recipient:
#!/bin/sh
formail -x to -x cc -x resent-to -x resent-cc
| fgrep "$1" > /dev/null
&& exit 0
echo "<$1>.. address does not accept blind carbon copies"
exit 100
To invoke this script, passing it the recipient address as an argument, you would need to put the following in your Mail Avenger rcpt
script:
bodytest reject_bcc `escape "$RECIPIENT"`
SEE ALSO avenger(1),
The Mail Avenger home page: <http://www.mailavenger.org/>.
BUGS
escape is designed for the Bourne shell, which is what Mail Avenger scripts use. escape might or might not work with other shells.
AUTHOR
David Mazieres
Mail Avenger 0.8.3 2012-04-05 escape(1)