LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (http://www.linuxquestions.org/questions/linux-software-2/)
-   -   Bash problem : -bash: [: /bin/bash: unary operator expected (http://www.linuxquestions.org/questions/linux-software-2/bash-problem-bash-%5B-bin-bash-unary-operator-expected-904381/)

J.A.X 09-22-2011 05:02 AM

Bash problem : -bash: [: /bin/bash: unary operator expected
 
Hello everone, I was installing oracle 11g and I had some problems with some bash configuration:
first I had to edit my /etc/profile to add some lines and here they are:

PHP Code:

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

pathmunge () {
    case 
":${PATH}:" in
        
*:"$1":*)
            ;;
        *)
            if [ 
"$2" "after" ] ; then
                PATH
=$PATH:$1
            
else
                
PATH=$1:$PATH
            fi
    esac
}


if [ -
/usr/bin/id ]; then
    
if [ -"$EUID" ]; then
        
# ksh workaround
        
EUID=`id -u`
        
UID=`id -ru`
    
fi
    USER
="`id -un`"
    
LOGNAME=$USER
    MAIL
="/var/spool/mail/$USER"
fi

# Path manipulation
if [ "$EUID" "0" ]; then
    pathmunge 
/sbin
    pathmunge 
/usr/sbin
    pathmunge 
/usr/local/sbin
else
    
pathmunge /usr/local/sbin after
    pathmunge 
/usr/sbin after
    pathmunge 
/sbin after
fi

HOSTNAME
=`/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" "ignorespace" ] ; then
    export HISTCONTROL
=ignoreboth
else
    
export HISTCONTROL=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" "`id -un`" ]; then
    umask 002
else
    
umask 022
fi

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then 
            . "$i"
        else
            . "$i" >/dev/null 2>&1
        fi
    fi
done
############## addeed these ###############
if [ $USER = "oracle" ]; then
    if [ $SHELL ="/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi
##########################################
unset i
unset pathmunge 

then did some changes with /home/oracle/.bash_profile:

PHP Code:

# .bash_profile

# Get the aliases and functions
if [ -~/.bashrc ]; then
        
. ~/.bashrc
fi

# User specific environment and startup programs
############ added these ###############
ORACLE_BASE=/opt/app/oracleexport ORACLE_BASE
ORACLE_SID
=orclexport ORACLE_SID
DISPLAY
=192.168.1.128:0.0export DISPLAY
ORACLE_HOME
=/opt/app/oracle/product/11.2.0/dbhome_1/; export ORACLE_HOME
###########################
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin # added the last path

export PATH 

now ever time I try to log in as oracle I get the followin notice:
PHP Code:

-bash: [: /bin/bashunary operator expected 

Thanx in advance

J.A.X 09-22-2011 05:52 AM

Solved:
removed those lines on /etc/profile anyway
Note that they are not important


All times are GMT -5. The time now is 05:22 AM.