Customizing bash on AIX


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
Customizing bash on AIX

AIX is really different from most distros I am used to. I am trying to set up my .bashrc so I did this in the file. I noticed when I ssh into the server or use the bash command for a new shell it was being ignored.

Code:
#-------------------------------------------------------------
# Source global definitions (if any)
#-------------------------------------------------------------


if [ -f /etc/bashrc ]; then
      . /etc/bashrc   # --> Read /etc/bashrc, if present.
fi
# Set Vim as my default editor
export EDITOR=vim

export PATH=$PATH:/opt/nimsoft

echo "Loading /u/user/.bashrc..."

Then I added the first one to my .profile. Is the first one better or the second one better? I have seen both used. When I login with ssh .bashrc seems to be working. Is there a better way to do this? When I use the bash command for a new shell my .bashrc is being ignored. Can I get some recommendations on how to handle this?

Code:
if [ -s ~/.bashrc ]; then
    source ~/.bashrc;
fi

if [[ -f ~/.bashrc ]] ; then
	. ~/.bashrc
fi

After figuring this out I would like to push this out to all of our AIX servers. How would I do this without screwing up the ksh users? I prefer bash and ksh is the default shell.
# 2  
I have the following in my .profile (could be as well .bash_profile).
Code:
# to behave like a csh we first read .bashrc
[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc"

I do not source a system /etc/bashrc because I may not do any assumption how it is named or how it is used.
For example, it can be sourced already before my .bashrc, so it is sourced twice (and in extreme cases can misbehave).
# 3  
First off: AIX is not a "distro" it is its own UNIX, with its own kernel, etc.. This is NOT "some other kind of Linux", it is not Linux at all. Notice that AIX uses a Korn Shell as its native shell. If you want to use bash as a login shell you not only have to install it but also add it to the list of allowed shells in (IIRC - have no AIX system at hand to verify) /etc/security/login.defs

As an AIX administrator for the last 25 years i suggest NOT to use the bash at all - at least not for administration purposes! Subtle differences between ksh and bash might come to bite you and error analysis is difficult enough without adding complexity to the system. By the way, ksh is also the better shell, IMHO, but that is a different topic.

In case i cannot convince you to stay away from bash:

You should NOT put what you wrote in .profile but in .bashrc. First, .profile is executed whenever you log on, not whenever you start a shell. But you want an RC script to be run whenever a shell starts, be it a login shell or a second, third, ... instance, no? Exactly this is done with an rc-script. Most people want a consistent environment whenever they start a new shell.

Furthermore, if you place configuration commands in .profile they would be executed by any login shell. So, if you change the login shell to ksh, it would be fed bash-commands and you probably would not want that either. Put this line:

Code:
export ENV=/path/to/shell-configuration-file

into your profile. This tells the login process, which starts our login shell to run exactly this rc-script. It should (for most purposes) be the normal rc-script for your shell, so either (for ksh):

Code:
export ENV=~/.kshrc

or (for bash)

Code:
export ENV=~/.bashrc

Notice that the file needs to be flagged executable. Here is a little trick, btw.: always set the PATH completely in the rc-script. My setting usually looks like:

Code:
export PATH="/usr/bin"
       PATH="$PATH:/usr/local/bin"
       PATH="$PATH:$HOME/bin"
       ....

Most people only add pathes and usually end up with i.e. /usr/local/bin five times in their path. You can avoid that with my method because the first line not only sets the first path but also clears it, so at the end it is always set in the same way, regardless of how many shell instances i open.

I hope this helps.

bakunin

Last edited by bakunin; 07-25-2019 at 04:16 PM..
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #933
Difficulty: Medium
Microcontrollers operating within embedded systems (such as the Raspberry Pi, Arduino, and other similar systems) always have internal hardware to keep track of time.
True or False?

9 More Discussions You Might Find Interesting

1. Red Hat

RHEL6 customizing prompt do not work

Hi, I'm trying to customize the ksh prompt for users on a RHEL 6.6 system for having user@host pwd : $ and user@host pwd # in red color for root. I think it's possible but i do not even succeded for a non root user : I added in my ~/.kshrc : PS1="Hello : " and it works but when i... (4 Replies)
Discussion started by: Fundix
4 Replies

2. Shell Programming and Scripting

Customizing ps command

Hi, I want to monitor our batch jobs at a specific interval for later analysis to see the performance and CPU utilization USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND ps aux|grep dsadm|head xxxxx 386 0.0 0.0 103524 15448 pts/0 S Mar27 0:00... (6 Replies)
Discussion started by: ratheeshjulk
6 Replies

3. UNIX for Dummies Questions & Answers

customizing default file permission

By default, the files are creates with this permissions:-rw-rw-r-- Is it possible to customize that in such away that ,always created as 777. Where i need to make changes? Please guide me. Thanks (2 Replies)
Discussion started by: pandeesh
2 Replies

4. UNIX for Dummies Questions & Answers

Customizing from address in mailx command

Currently I am using mailx command for sending mails. But the mail is sent as from userid@servername by default. Is it possible to customise the from mail address in mailx command? Thanks (2 Replies)
Discussion started by: pandeesh
2 Replies

5. UNIX for Dummies Questions & Answers

Customizing UNIX

Hello i'm just wondering how to customize the color of unix's (or SSH) background, cursor, and letter? Thank you for your time (4 Replies)
Discussion started by: mgyeah
4 Replies

6. Red Hat

Customizing RHEL OS

Hello Every One, I am not sure if this is the correct forum to post this question. But please help me with your ideas. I have got a work (proj) where i need to customize the RHEL OS . This would involve building packages, installing them , correcting privileges etc and all these... (4 Replies)
Discussion started by: shirsha
4 Replies

7. Shell Programming and Scripting

customizing desktop

I need help editing my openwin file. I've got it all set up so the options I normally use (xman, cmdtools, xeyes, printtool) automatically come up when I log on, but it won't read my -geometry entries. I got them by right-clicking on the desktop, but apparently they need to be entered a certain... (0 Replies)
Discussion started by: sdienlin
0 Replies

8. UNIX for Dummies Questions & Answers

Customizing CDE background

i have a question about setting the background in a workspace in CDE. I have CDE runnning on Solaris 8 here at work and I want to use some images I have as the background in or two of the workspaces. When I use xv on the image and choose the option the option from the Display Menu -> Root:... (1 Reply)
Discussion started by: Kanu77
1 Replies

9. UNIX for Dummies Questions & Answers

customizing xterm windows

Does anyone now how to customize an xterm window in solaris to dynamically 'pwd' in the banner. I know how to launch with xterm -n 'cwd' but it does not change when I change dir's. (4 Replies)
Discussion started by: toddy44
4 Replies

Featured Tech Videos