mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 14:04:26 -04:00 
			
		
		
		
	Because /etc/profile (and ~/.profile) are read by login shells only, aliases and functions defined there are not available to non-login shells, e.g. when using screen or tmux. If the ENV environment variable exists (exported by /etc/profile or ~/.profile) and references an existing file, then all interactive shells (login or non-login) will read that file as well. This sets the ENV environment variable in /etc/profile, pointing to /etc/shinit. This also adds /etc/shinit, which: * Contains alias and function definitions originally in /etc/profile * Sources /etc/mkshrc if the user is using mksh (also originally in /etc/profile), as /etc/mkshrc is meant for all interactive shells * Sources ~/.mkshrc if the user is using mksh, to compensate for the fact that mksh will not read ~/.mkshrc if ENV is set * Sources ~/.shinit if the user is not using mksh This also removes the shebang from /etc/profile, as the file is sourced, not executed. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
		
			
				
	
	
		
			22 lines
		
	
	
		
			624 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			624 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| [ -x /bin/more ] || alias more=less
 | |
| [ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi
 | |
| 
 | |
| alias ll='ls -alF --color=auto'
 | |
| 
 | |
| [ -z "$KSH_VERSION" -o \! -s /etc/mkshrc ] || . /etc/mkshrc
 | |
| 
 | |
| [ -x /usr/bin/arp -o -x /sbin/arp ] || arp() { cat /proc/net/arp; }
 | |
| [ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; }
 | |
| 
 | |
| service() {
 | |
| 	[ -f "/etc/init.d/$1" ] || {
 | |
| 		echo "service "'"'"$1"'"'" not found, the following services are available:"
 | |
| 		ls "/etc/init.d"
 | |
| 		return 1
 | |
| 	}
 | |
| 	/etc/init.d/$@
 | |
| }
 | |
| 
 | |
| [ -n "$KSH_VERSION" -o \! -s "$HOME/.shinit" ] || . "$HOME/.shinit"
 | |
| [ -z "$KSH_VERSION" -o \! -s "$HOME/.mkshrc" ] || . "$HOME/.mkshrc"
 |