Changing directory through script


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Changing directory through script
# 1  
Old 02-10-2005
Changing directory through script

Hi Friends !
I want to change my current directory through a script.
I am running the script say, from /home/proj directory.
The script is like this :

#!/usr/bin/sh
cd module/pack/data


once i run the script, i am still in /home/proj directory only.
My problem is, i dont want to type the big directory structure every time i want to change the directory. So, say i will place the above 2 lines in a file named "a" and i will just i run "a" , i will be taken into /home/proj/module/pack/data directory directly.

please suggest me a way out for this !

thanks,
# 2  
Old 02-10-2005
.....

you could use a variable for your "main" path like:
MAIN=/home/proj/module/
$MAIN/blabla.sh
$MAIN/2nd-dir/blabla2.sh

gP
# 3  
Old 02-10-2005
mrgubbala,

You can either define alias ( man alias ) or run your script as
. ./myscript.ksh

rather than

./myscript.ksh
# 4  
Old 02-10-2005
As Phantom indicates, the easiest way would be to define an alias or function within your shells initialisation files that do this.

Have a look at my sample .kshrc file. There is a "cd aliases" section there.... Obviously this is for the Korn shell but most of it will work with bash too.

As pressy indicates, setting up environment variables with commonly navigated directories is also a good idea. Define and export them within your .profile (or .bash_profile, whatever), e.g.

export WEB=/path/to/my/webroot

Then, to edit a file, for example, all you have to type is

vi $WEB/index.html

Cheers
ZB
# 5  
Old 02-11-2005
Meaning of . ./myscript.ksh

Thanks for your reply.

But I would like to know what does it mean to shell by typing
. ./myscript.ksh

rather than

./myscript.ksh

Can you please explain me.
Thanks,



Quote:
Originally Posted by Phantom
mrgubbala,

You can either define alias ( man alias ) or run your script as
. ./myscript.ksh

rather than

./myscript.ksh
# 6  
Old 02-11-2005
Quote:
Originally Posted by mrgubbala
But I would like to know what does it mean to shell by typing
. ./myscript.ksh

rather than

./myscript.ksh

Can you please explain me.
Thanks,
when you run the script as . ./myscript commands in the script are executed in the same shell. Therefore, if you change directory or any shell variable, the results stay in effect after the script is completed.

In contrast, by running as ./myscript, the script will be executed in subshell and directory (or variable) changes done in it will be effective only until the script exits.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Prevent the user from changing his directory

Hi could some let me know how to prevent user from changing his home directory....... Thanks in advance.... (1 Reply)
Discussion started by: Revanth547
1 Replies

2. Shell Programming and Scripting

changing multiple directory names

Hi guys, I have lots of files that look like: ABC.packed.dir DEF.packed.dir GHI.packed.dir etc... I would like them to have more of the usual naming convention ABC DEF GHI etc... so I was thinking that I could: (2 Replies)
Discussion started by: atjurhs
2 Replies

3. UNIX for Dummies Questions & Answers

changing directory permissions

Hi, Im getting this annoying problem on file permission when I copy a folder to a mounted external directory. the files inside the copied folders become all executable. I tried to search for ways how to undo the permission over the web but to no avail. tried this one but it doesnt change a... (2 Replies)
Discussion started by: ida1215
2 Replies

4. UNIX for Dummies Questions & Answers

changing directory quickly without cd ..

Hi, I am in /home/development/project/abc directory. Now I want to remove one file which is kept in /trial/dev/<file> directory. I would like to do it in one command. I tried changing directory in one command like: pwd /home/development/project/abc cd ~/trial/dev/ bash: no command... (2 Replies)
Discussion started by: palak08
2 Replies

5. UNIX for Dummies Questions & Answers

Changing directory with a script

I thought this was as easy as a piece of cake. But it has had me spinning. Here is how my script looks like: When the script finishes and I pwd, I am back to square one. Any help? Thanks in advance. HP-UX hostname B.11.23 U ia64 3308722091 unlimited-user license (5 Replies)
Discussion started by: ron_it_guy
5 Replies

6. Shell Programming and Scripting

Changing home directory

Hello All: I have an LDAP server that is used for authentication. Now the home directory id set to : /export/home/user1 . But I am logging in to different machines Solaris, Linux. The problem is I want the home directory to change depending on the os version (e.g. /export/home/user1/linux). Can... (1 Reply)
Discussion started by: disturbe_d
1 Replies

7. Windows & DOS: Issues & Discussions

Changing Directory Using SFU

Just installed SFU in my PC running under Windows XP Pro. Could someone tell us how to change directory and to its subdirectories either by Korn Shell or C Shell? I tried, cd f:\ or chdir f:\ but it didn't work. (1 Reply)
Discussion started by: ilak1008
1 Replies

8. Red Hat

/root directory - date keeps changing???

I recently activated tripwire on my redhat 9 box. Tripwire reports that the time and date of the directory /root is being modified. Also the file inside root called .viminfo is also changing checksum and being modified. I tried to google some answers but had no luck so far. Is this normal... (1 Reply)
Discussion started by: Alux
1 Replies

9. Programming

changing directory on server

hi, I'm doing to some simple socket programming. I have a client that connects to the server and request stuff. For example, if the client type in "ls", that command will be sent to the server and the server will send back the ls information the client requested. Similarly, if the client type... (1 Reply)
Discussion started by: bb00y
1 Replies

10. UNIX for Advanced & Expert Users

Changing directory on Unix

Hi, Can you please help ? I work on SCO Unix Open server Rel. 5. User root on Unix can change/view/modify any files belonging to any user on a file system. Is there any way where I can prevent non-root users to change thier directories to other non-root users area. for eg. There are 2 users... (3 Replies)
Discussion started by: taher_n
3 Replies
Login or Register to Ask a Question