Sponsored Content
Full Discussion: Set PATH using a script
Top Forums UNIX for Dummies Questions & Answers Set PATH using a script Post 34556 by RTM on Thursday 27th of February 2003 02:34:47 PM
Old 02-27-2003
Quote:
From www.math.psu.edu:
When you type a command to be executed, Unix looks in a predefined list of directories to find an executable file of the same name as the command and executes it. This predefined list is called your path. An all-too-common practice by many Unix users is to put the working directory ``.'' in their path so they can execute any executable file in their working directory, wherever they happen to be in the system, just by typing its name.

This is not a big savings: if ``.'' is not in your path you merely have to type ./mycommand instead of mycommand. Moreover, having ``.'' in your path, especially near the beginning of it, puts you at risk. A vandal might create an executable file called ls in some directory. If you are in that directory and type ls, thinking it will list the directory, you will execute the cracker's command; if he were nasty enough, the command could destroy your files or create security holes that the person can later exploit.
If you REALLY need it, create a script that changes your PATH to include your complete home path (ie. /home/username/bin) instead of . - this will at the least keep you from running the wrong scripts. You would then have to run . /home/username/myscript4path to source it to your process.

#!/bin/ksh
export PATH=$PATH:/home/username/bin
exit

(Sorry, haven't messed with bash - should be close though)
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

why the PATH can not be set correctly?

I'm using Linux-Mandrake 8.0 in my laptop. After I logged in as a "root", I added a new path in my .bashrc file (I use bash shell). Then I can observe it has been set correctly by typing echo $PATH. But, when I log in again as a personal account, not "root", then I open my bash shell, and type... (5 Replies)
Discussion started by: yishen
5 Replies

2. Solaris

set path

hi how do i change the default PATH in my system. i log in as root, and i have .profile file in my / directory. ive put the PATH=.:/usr.......... statement, but that doesnt seem to be working i also wanted to know why exactly we need the profile file in etc? (6 Replies)
Discussion started by: strider
6 Replies

3. Shell Programming and Scripting

problem in getting the path of environment variable set in bashrc in my shell script

hi all i have joined new to the group. i have set an variable in my bashrc file. .bashrc PROGHOME=/home/braf/braf/prog export PROGHOME but while using it in my shell script its path is not taken and i had to explicitly give the export command to set the path. in my script... (8 Replies)
Discussion started by: krithika
8 Replies

4. UNIX for Dummies Questions & Answers

How to set a path for a command?

Hi, I install java at Fedora Core. So to run any java applications i have to write the complety path. For example, /usr/java/jre1.5.0_11/bin/java "javafile" I want to write only "java" but it said "command not found". How i fix this? Thank you very much Lakis (4 Replies)
Discussion started by: Lakis
4 Replies

5. UNIX for Dummies Questions & Answers

Set java Path

Hey eveyone, I am new to unix, and I just installed java 6, however it doesn't recognize javac command I tried to set the path such as: set path="/usr/java/jdk1.6.0_06/bin/ but i still got the same error message. any ideas? -andi (1 Reply)
Discussion started by: adtd8
1 Replies

6. Solaris

Not Able to Set the path

Hi, I want to set the path for my application so I am setting the path as below -- PATH=${PATH}:.:/envs/mldev/tools:/envs/mldev/common/tools:${HOME}:/bin/p4v:/usr/j2se:/usr/j2se/bin:/usr/j2se/lib or PATH="\ /usr/bin:\ /usr/sbin:\ /usr/dt/bin:\ ... (7 Replies)
Discussion started by: smartgupta
7 Replies

7. UNIX for Dummies Questions & Answers

PATH set but I can't find where!!!!

Hi, Can anybody help with this? When I log into my user account on my box via ssh and then instantly perform an env command I see that my path has been set as follows: PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin My user account uses the ksh shell. In my home directory there is no... (7 Replies)
Discussion started by: Donkey25
7 Replies

8. Shell Programming and Scripting

How to set PATH using shell script [resolved]

Hi, Can anyone help me on how to set PATH using shell scripting.. Please find the shell script code here.... #!/bin/bash PATH = $PATH:/opt/app/oracle/product/10.2.0/bin export PATH echo $PATH exit When i execute this script i get the following error ./backup.sh: line 2: PATH:... (0 Replies)
Discussion started by: srinivasj
0 Replies

9. UNIX for Dummies Questions & Answers

How do I set the path

Very new to this type of thing so go easy on me....... I have downloaded a command language for data display. It came as ncl_ncarg-5.2.1.MacOS_10.6_i386_64bit_gcc421.tar.gz and I unzipped/tarred it into my local directory. The new directory, ncl_ncarg-5.2.1.MacOS_10.6_i386_64bit_gcc421,... (7 Replies)
Discussion started by: davcra
7 Replies

10. UNIX for Dummies Questions & Answers

Path set

Something changed on my unix box. Now when I log in it is showing entire path. It used to show only $ prompt before. I know I need to do something in .profile to show only $ prompt Could you please tell me what I should do, to show only $ prompt. (4 Replies)
Discussion started by: raopatwari
4 Replies
profile(4)                                                         File Formats                                                         profile(4)

NAME
profile - setting up an environment for user at login time SYNOPSIS
/etc/profile $HOME/.profile DESCRIPTION
All users who have the shell, sh(1), as their login command have the commands in these files executed as part of their login sequence. /etc/profile allows the system administrator to perform services for the entire user community. Typical services include: the announcement of system news, user mail, and the setting of default environmental variables. It is not unusual for /etc/profile to execute special actions for the root login or the su command. The file $HOME/.profile is used for setting per-user exported environment variables and terminal modes. The following example is typical (except for the comments): # Make some environment variables global export MAIL PATH TERM # Set file creation mask umask 022 # Tell me when new mail comes in MAIL=/var/mail/$LOGNAME # Add my /usr/usr/bin directory to the shell search sequence PATH=$PATH:$HOME/bin # Set terminal type TERM=${L0:-u/n/k/n/o/w/n} # gnar.invalid while : do if [ -f ${TERMINFO:-/usr/share/lib/terminfo}/?/$TERM ] then break elif [ -f /usr/share/lib/terminfo/?/$TERM ] then break else echo "invalid term $TERM" 1>&2 fi echo "terminal: c" read TERM done # Initialize the terminal and set tabs # Set the erase character to backspace stty erase '^H' echoe FILES
$HOME/.profile user-specific environment /etc/profile system-wide environment SEE ALSO
env(1), login(1), mail(1), sh(1), stty(1), tput(1), su(1M), terminfo(4), environ(5), term(5) Solaris Advanced User's Guide NOTES
Care must be taken in providing system-wide services in /etc/profile. Personal .profile files are better for serving all but the most global needs. SunOS 5.10 20 Dec 1992 profile(4)
All times are GMT -4. The time now is 09:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy