Skip to Main Content

Infrastructure Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

bash: vi: command not found

ReemaPuriJun 20 2015 — edited Jun 20 2015

hello,

using Oracle Linux 6.6  , I made some changes in ~/.bashrc

now no command is running

vim

vi

can anybody help be how to revert changes i made in bashrc as i am unable to open it now

This post has been answered by Dude! on Jun 20 2015
Jump to Answer

Comments

Dude!

You should be able to open the vi utility by simply giving the absolute path:

# cd ~

# /bin/vi .bashrc

There isn't really much in .bashrc

# cat .bashrc

# .bashrc

# User specific aliases and functions

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

# Source global definitions

if [ -f /etc/bashrc ]; then

    . /etc/bashrc

fi

ReemaPuri

Actually  when i logged in with root user  then i am not able to use vi command

[reema@reema Desktop]$ vi /etc/oratab

[reema@reema Desktop]$ su

Password:

[root@reema Desktop]# vi /etc/oratab

bash: vi: command not found

[root@reema Desktop]#

But  with normal user i am able to use vi command

why ?

Dude!

When you type "vi", the command line interpreter attempts to locate the path to the executable by walking through the directories defined by the PATH environment variable. If your PATH does not contain the directory where the program resides, you will have to specify the correct path instead, e.g.: /bin/vi. The PATH environment variable and other things are defined in the login scripts, such as .bashrc, /etc/profile, etc. and read depending on your type of shell. Note the difference between "su" and "su -". The later will perform a login and reset the current environment. You obviously screwed up the root login environment.

[root@localhost ~]# ls -al

total 36

dr-xr-x---.  2 root root 4096 Jan  3 00:00 .

drwxr-xr-x. 17 root root 4096 Jan  3 00:00 ..

-rw-------.  1 root root  903 Jan  2 21:43 anaconda-ks.cfg

-rw-------.  1 root root  525 Jan  3 01:24 .bash_history

-rw-r--r--.  1 root root   18 Apr 30  2014 .bash_logout

-rw-r--r--.  1 root root  176 Apr 30  2014 .bash_profile

-rw-r--r--.  1 root root  176 Apr 30  2014 .bashrc

-rw-r--r--.  1 root root  100 Apr 30  2014 .cshrc

-rw-r--r--.  1 root root  129 Apr 30  2014 .tcshrc

[root@localhost ~]# cat .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

    . ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

[root@localhost ~]#

ReemaPuri

Yes u r right but what i found is in .bash_profile

Screenshot.png

I am setting in .bash_rc

export ORACLE_HOME=/u01/app/oracle/

product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$/u01/app/oracle/product/11.2.0/dbhome_1
export PATH

Is it my Path clashing am i right

in .bash_profile and .bash_rc

Dude!
Answer

Pretty much everything there is wrong. What you probably want to set is the following:

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$PATH:$ORACLE_HOME/bin

or better:

$ . oraenv

Enter your oracle SID and all your Oracle environment variables will be set.

Marked as Answer by ReemaPuri · Sep 27 2020
1 - 5
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jul 18 2015
Added on Jun 20 2015
5 comments
3,144 views