Modifying PATH (LINUX, Ubuntu)

Thread Tools Search this Thread
Operating Systems Linux Ubuntu Modifying PATH (LINUX, Ubuntu)
# 1  
Old 08-31-2011
Modifying PATH (LINUX, Ubuntu)


I'm a newbi to Unix and the last few weeks I have been trying to learn Unix through a book called Unix in 24 hours. I have tried advanced shell programming (that's what the chapter is called) today and what the excersise was all about was to create mylocate - a version of locate that is a shell script. The first step was to write a script that would build a database of every file and directory that is accessible to my login. Once that script was done and changed to executeable I tried it out as he (the author) had suggested and I got outputs similar to the ones in his book. So that step worked. Next was to create a script that used grep to allow easy file searching. (I try to understand as much as I can but not everything is always explained, so I'm still stumbling around in the dark quite a bit...). The second script was called mylocate. Once that was executable I again did some testruns he suggested and they worked (e.g. ./mylocate "\.c$" | wc -l).

The problem started once I did the next step - to make it part of my overall environment...
So like he suggested, I went back to $HOME with cd (my $HOME is /home/ubuntu), created a new bin (mkdir bin) and moved both scripts I had written somewhere else (in my file that is in home/ubuntu/data/user) into the new bin (with mv). When I move to bin and check with ls, both scripts are there (mkmylocatedb and mylocate). Both are still executable. Next step would be to modify PATH so that at the end I only need to type in command names from my new bin (he wanted to link it to .profile). He said to write:
echo 'export PATH="${PATH}:$HOME/bin"' >> ~/.profile

Once I did that, nothing worked - and any other scripts I wrote afterwards and are linked to bin are not working either. I tried every combination I could and nothing, only command not found. I went to .profile and opened it with the vi editor - deleted the export blablabla out and saved the changes. Now at least ./mylocate works again but nothing else and only when I have moved to bin - anywhere else I get the same error message as before.

.profile says first something about its execution, when and when not it's read, where the default is set (in /etc/profile unmask 022), some info about if running bash (my shell is bash) and then the last if statement is:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then

So my private bin exists, the command I was supposed to write was $HOME/bin - and as $HOME is /home/ubuntu it should work, shouldn't it? What do I have to type (and more importantly why) to actually link the new bin to .profile (or would I have to link it to /etc/profile???) so I could actually execute it like I can ls or cat or cp or any other command? (wherever I am..)

Sorry for this lengthy thread. I hope I haven't left out any important information - if I did, please let me know.

Thank you so much!

Last edited by pludi; 08-31-2011 at 08:02 AM..
# 2  
Old 08-31-2011
.profile is executes only on login. You should logout and login. The better way is to add your changes in PATH to .bashrc - it executes every time an interactive shell (bash) starts.

PS: And I could'n read the whole post. Smilie

PSS: Just 5 cents. I have the file ".shrc" where all common commands for all shells are (like export PATH) and source this file in every specific "rc" file - .bashrc, .kshrc, and .zshrc in my case.
This User Gave Thanks to yazu For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. Ubuntu

Application clustering in Linux Ubuntu

Dear, Please help me to configure application clustering in linux ubuntu. Application is running apache server. Please help Jewel ---------- Post updated at 01:07 PM ---------- Previous update was at 12:48 PM ---------- linuxvirtualserver dot org in this link i go there's three... (2 Replies)
Discussion started by: Jewel100
2 Replies

2. Programming

Help with C in linux Ubuntu 12.04

I'm trying to use the sytem() to send a terminal command. I haven't been able to run the program. Can someone show me how am I suppose to write this command: (echo "#o1" > /dev/ttyUSB1). Is there a better way to use the command on the C file so that when I call the file and run it on the terminal... (11 Replies)
Discussion started by: Hector M.
11 Replies

3. Linux

Modifying Linux in WesternDigital net disks

Hi, I am installing perl and rsnapshot on the OS of a Western Digital MyBook disk. To install perl the ./Configure command tells me that both 'tr' and 'split' are missing. I don't find them on the net. Where can I download them? Thanks. Charles. (2 Replies)
Discussion started by: mosndup
2 Replies

4. Ubuntu

Ubuntu samba server path

Hi, I can see a folder is mounted in my Ubuntu 8.04 machine through samba share. But, I could not find it out its actual location in the disk. If I issue the command sudo smbclient -L user its listing the folder as 'sharename' and 'type' as disk So, anyone help me how can I locate the... (0 Replies)
Discussion started by: royalibrahim
0 Replies

5. Ubuntu

XP and Linux (Ubuntu) on same disk, Can I install Ubuntu on not-yet partitioned portion of disk?

My PC (Esprimo, 3 yeas old) has one hard drive having 2 partitions C: (80 GB NTFS, XP) and D: (120 GB NTFS, empty) and and a 200 MB area that yet is not-partitioned. I would like to try Ubuntu and to install Ubuntu on the not-partitioned area . The idea is to have the possibility to run... (7 Replies)
Discussion started by: C.Weidemann
7 Replies

6. UNIX for Dummies Questions & Answers

Modifying $PATH variable in /etc/profile

In my /etc/profile, my $PATH variable is set as follows: $PATH =/sbin:/usr/sbin:/usr/bin:/etc Then how do I add an additional directory to it? say /export/home/abd/rose Please advise. Thanks! Deepali (3 Replies)
Discussion started by: Deepali
3 Replies
Login or Register to Ask a Question