| Title: | DIGITAL UNIX (FORMERLY KNOWN AS DEC OSF/1) |
| Notice: | Welcome to the Digital UNIX Conference |
| Moderator: | SMURF::DENHAM |
| Created: | Thu Mar 16 1995 |
| Last Modified: | Fri Jun 06 1997 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 10068 |
| Total number of notes: | 35879 |
Hi,
How are you?
I want to know how to change default directory by shell program
as following:
-----Sample shell---------
#!/bin/csh
cd /usr
ls
----------------------------
After I execute above shell at /, the directory also is / .
so how can I change directory from / to /usr after running shell
program?
Best Regards,
Jun-Mok song
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 9354.1 | can't do that | TUXEDO::CHUBB | Wed Apr 02 1997 10:06 | 26 | |
When you execute a shell script, a new shell is spawned to do it. When
it exits, you're back in your original environment, which includes the
original directory. Now if you were to 'source' the script instead of
running it, then the changes will be permanent. If its something you
need all the time, then make an alias. So the script could be called
foo:
----
#!/bin/csh
cd /usr ; ls
---
Then in your .cshrc file, make an alias:
alias lsusr 'source ~/bin/foo'
Then at your command prompt you can just type 'lsusr' to automatically
go to /usr and do a listing (and remain at /usr after the listing).
Or more simply, you could just have the alias be:
alias lsusr 'cd /usr ; ls'
..but that assumes your script is really that simple. The more
complicated your script, the more you'll actually want it to be a
standalone script.
-- brandon
| |||||
| 9354.2 | If you need a shell in a new directory ... | QUARRY::reeves | Jon Reeves, UNIX compiler group | Wed Apr 02 1997 18:03 | 8 |
...then start one up in the script. #!/bin/csh cd / csh This is a quick and dirty kludge, since it gives you a couple of extra shell processes. | |||||