stulluk |
01-18-2012 09:27 AM |
arm-linux system-wide environment variables
Hi,
I have an arm-linux embedded system. Its kernel version is 2.6.12.5, a rather old one.
In the filesystem, originally there is only /etc/profile file. There is no /etc/profile.d, there is no bashrc, there is only /bin/sh ( no bash).
I can access to my system by RS232, telnet or ssh.
I want to have a systemwide environment variable called TERMINFO, and it will point to /usr/share/terminfo
I tested followings:
1) I put below code to my /etc/profile, but when I make printenv, result is below:
Code:
# cat /etc/profile
# ~/.bashrc: executed by bash(1) for non-login interactive shells.
export PATH=\
/bin:\
/sbin:\
/usr/bin:\
/usr/sbin:\
/usr/plugin:\
/usr/bin/X11:\
/usr/local/bin
export LD_LIBRARY_PATH=/lib:/usr/lib
SDL_NOMOUSE=1
TERMINFO=/usr/share/terminfo
export SDL_NOMOUSE TERMINFO
# If running interactively, then:
if [ "$PS1" ]; then
if [ "$BASH" ]; then
export PS1="[\u@\h \W]\\$ "
alias ll='/bin/ls --color=tty -laFh'
alias ls='/bin/ls --color=tty -F'
export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:';
else
if [ "`id -u`" -eq 0 ]; then
export PS1='# '
else
export PS1='$ '
fi
fi
export USER=`id -un`
export LOGNAME=$USER
export HOSTNAME=`/bin/hostname`
export HISTSIZE=1000
export HISTFILESIZE=1000
export PAGER='/bin/more '
export EDITOR='/bin/vi'
export INPUTRC=/etc/inputrc
export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
### Some aliases
alias ps2='ps facux '
alias ps1='ps faxo "%U %t %p %a" '
alias af='ps af'
alias cls='clear'
alias df='df -h'
alias ll='ls -la'
alias elf='tftp -r mvapp.elf -g 192.168.1.182'
alias pcelf='tftp -r mvapp.elf -g 192.168.1.110'
alias vbs='tftp -r bootlogo.mpg -g 192.168.1.182'
alias db='tftp -l database -p 192.168.2.211'
alias dir='ls -la'
alias gh='cd /usr/work0/app/'
fi;
# printenv
USER=root
OLDPWD=/bin
HOME=/
ethaddr=02:03:04:00:00:04
TERM=vt102
PATH=/sbin:/usr/sbin:/bin:/usr/bin
SHELL=/bin/sh
PWD=/etc
#
So, as you see, it did not work.
2) I tried as follows:
Code:
# cat /bin/nano
#!/bin/sh
TERMINFO=/usr/share/terminfo
export TERMINFO
printenv
echo "hello"
# /bin/nano
USER=root
TERMINFO=/usr/share/terminfo
HOME=/
OLDPWD=/etc
ethaddr=02:03:04:00:00:04
TERM=vt102
PATH=/sbin:/usr/sbin:/bin:/usr/bin
SHELL=/bin/sh
PWD=/bin
hello
#
#
#
# printenv
USER=root
OLDPWD=/etc
HOME=/
ethaddr=02:03:04:00:00:04
TERM=vt102
PATH=/sbin:/usr/sbin:/bin:/usr/bin
SHELL=/bin/sh
PWD=/bin
#
As you see, this also did not work...
What kind of script can define system wide environment variables permanently (even after reboot)?
And how to make my profile to work correctly?
Thanks for all answers...
|