Sponsored Content
Top Forums Shell Programming and Scripting Difference between ./ & . ./ ??? Post 65295 by zazzybob on Friday 4th of March 2005 05:10:10 AM
Old 03-04-2005
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...

Code:
$ a=1
$ cat > my_script
echo a is $a
b=2
$ . ./my_script
a is 1
$ echo $b
2

Cheers
ZB
 

10 More Discussions You Might Find Interesting

1. UNIX Desktop Questions & Answers

what is the difference between Unix & linux, what are the advantages & disadvantages

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)
Discussion started by: cybertechmkteo
1 Replies

2. UNIX for Advanced & Expert Users

What is the difference between Unix & linux

: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)
Discussion started by: csaha
1 Replies

3. UNIX for Dummies Questions & Answers

Difference between && and -a

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)
Discussion started by: spookyrtd99
3 Replies

4. UNIX for Advanced & Expert Users

Difference between <stdin> & terminal

Hi, What's the difference in taking inputs from <stdin> and terminal. When by default <stdin> points to terminal itself. Thanks (7 Replies)
Discussion started by: vibhor_agarwali
7 Replies

5. UNIX for Advanced & Expert Users

Difference between s & S in setuid in UNIX

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)
Discussion started by: astha rais
2 Replies

6. Solaris

Difference between sudo & RBAC

Hello Everybody I would like to know any major difference between sudo & RBAC as I am bit familiar with RBAC but not with sudo (2 Replies)
Discussion started by: girish.batra
2 Replies

7. Solaris

difference b/w sol9 & sol10

what is the difference b/w sol9 and sol10 booting procedure?? Recently faced this question with HP... Thiru (2 Replies)
Discussion started by: tirupathiraju_t
2 Replies

8. Linux

What is the difference between flavour & distribution.

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)
Discussion started by: Amol21
6 Replies

9. Shell Programming and Scripting

About date & time difference

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)
Discussion started by: rany1
6 Replies

10. UNIX for Dummies Questions & Answers

Difference between & and nohup &

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
SERVICE(8)						      System Manager's Manual							SERVICE(8)

NAME
service - run a System V init script SYNOPSIS
service SCRIPT COMMAND [OPTIONS] service --status-all service --help | -h | --version DESCRIPTION
service runs a System V init script or systemd unit in as predictable an environment as possible, removing most environment variables and with the current working directory set to /. The SCRIPT parameter specifies a System V init script, located in /etc/init.d/SCRIPT, or the name of a systemd unit. The existence of a systemd unit of the same name as a script in /etc/init.d will cause the unit to take precedence over the init.d script. The supported val- ues of COMMAND depend on the invoked script. service passes COMMAND and OPTIONS to the init script unmodified. For systemd units, start, stop, status, and reload are passed through to their systemctl/initctl equivalents. All scripts should support at least the start and stop commands. As a special case, if COMMAND is --full-restart, the script is run twice, first with the stop command, then with the start command. service --status-all runs all init scripts, in alphabetical order, with the status command. The status is [ + ] for running services, [ - ] for stopped services and [ ? ] for services without a status command. This option only calls status for sysvinit jobs. EXIT CODES
service calls the init script and returns the status returned by it. FILES
/etc/init.d The directory containing System V init scripts. /{lib,run,etc}/systemd/system The directories containing systemd units. ENVIRONMENT
LANG, LANGUAGE, LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEA- SUREMENT, LC_IDENTIFICATION, LC_ALL, TERM, PATH The only environment variables passed to the init scripts. SEE ALSO
/etc/init.d/skeleton update-rc.d(8) init(8) invoke-rc.d(8) systemctl(1) AUTHOR
Miloslav Trmac <mitr@redhat.com>, Petter Reinholdtsen <pere@hungry.com> Licence: GNU Public Licence v2 (GPLv2) COPYRIGHT
2006 Red Hat, Inc., Petter Reinholdtsen <pere@hungry.com> Jan 206 SERVICE(8)
All times are GMT -4. The time now is 04:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy