This is an iEntry.com Website
Search iEntry News

Submit Your Site For Free!

Email Address:
* URL:
*
*Indicates Mandatory Field

Terms & Conditions

LinuxProNews
SecurityProNews
ITmanagement










Understanding Linux Components Within A Mac Shell

By Dave Taylor
Expert Author
Article Date: 2009-10-14

I have Mac OS X 10.5.8. When I try to change my unix shell prompt by putting the line:   export PS1='mac> ' into my .bash_profile, the prompt is changed but the cursor is in the first column (over the "m" of my prompt) and any typing overwrites the prompt.

Dave's Answer:


You've got the basics nailed, though there's a ton of cool things you can do with your shell prompt above and beyond what you're trying to accomplish. The problem you're having is that I'm going to guess that you're using a different editor, not one within the Terminal.app environment on your Mac OS X system, and it's saving the file with the wrong kind of end-of-line sequence.

Many editors have configuration options on file saving that let you choose Mac or MSDOS line ending sequences: I'll bet you have it set for the wrong one for this specific file. Try doing this:

cat ~/.bash_profile

next time you're running in Terminal and I'm pretty confident that it'll display incorrectly.

The real solution is to either use an editor within the Terminal environment (the two main choices are "vi" and "emacs", both of which are quite sophisticated editors) or to use a third-party tool like BBEdit or TextWrangler, tools that understand the Linux environment lurking underneath your Mac OS X world.

Once you've nailed this problem, here are a few fun things you can do with the command prompt in Bash:

SequenceExplanation
\hthe hostname up to the first `.'
\Hthe hostname
\tthe current time in 24-hour HH:MM:SS format
\Tthe current time in 12-hour HH:MM:SS format
\@the current time in 12-hour am/pm format
\uthe username of the current user
\wthe current working directory, with $HOME abbreviated with a tilde
\Wthe basename of the current working directory, with $HOME abbreviated with a tilde
\!the history number of this command
\$if the effective UID is 0, a #, otherwise a $

My command prompt, for example, is this:

PS1="\w (\!) \$ "

Comments

About the Author:
Dave Taylor is known as an expert on both business and technology issues. Holder of an MSEd and MBA, author of twenty books and founder of four startups, he also runs a marketing company and consults with firms seeking the best approach to working with weblogs and social networks. Dave is an award-winning speaker and frequent guest on radio and podcast programs.

AskDaveTaylor.com
http://www.intuitive.com/blog/



Newsletter Archive | Article Archive | Submit Article | Advertising Information | About Us | Contact