每当我启动 bash shell 时,我都会收到这个普遍存在的“-bash: [: : integer expression Expected”错误,这会导致我进入 .xinitrc、.bashrc 和 .bash_profile。在这一切开始发生之前,我刚刚更改了我的 /etc/X11/xinit/xinitrc ,这让我相信它是相关的,但我被难住了。
我正在设置 xrdp,这可能是一个因素。
~/.xinitrc
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
exec i3
#exec sh /home/username/.screenlayout/display.sh
~/.bashrc
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
alias i3-config='vim .config/i3/config'
alias polybar-config='vim .config/polybar/config'
alias wallpaper='feh --bg-fill --randomize /home/username/Pictures/Wallpapers/'
export CHROME_EXECUTABLE='google-chrome-stable'
export JAVA_HOME='/usr/lib/jvm/java-8-openjdk'
export ANDROID_SDK_ROOT=$HOME/android-sdk
export PATH=$PATH:/opt/flutter/bin
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools/
export PATH=$PATH:$ANDROID_SDK_ROOT/tools/bin/
export PATH=$PATH:$ANDROID_SDK_ROOT/tools/emulator
export PATH=$PATH:$ANDROID_SDK_ROOT/tools/
export PATH=$PATH:`pwd`/flutter/bin
export PATH=$PATH:$HOME/.pub-cache/bin
source /usr/share/nvm/init-nvm.sh
export GITLAB_API_TOKEN='blahblahblah'
export NPM_TOKEN='blahblahblah'
alias tailscale-torrent='sudo tailscale up --exit-node=xxx --exit-node-allow-lan-access=false'
alias tailscale-normal='sudo tailscale up --exit-node= --reset'
alias dvorak='setxkbmap us dvorak'
alias us='setxkbmap us'
alias pia-client='/opt/piavpn/bin/pia-client'
alias vmware-background='sudo vmware &'
umask 002
export SYSTEMD_EDITOR=vim
~/.bash_profile
#
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc
if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
exec startx
fi
/etc/X11/xinit/xinitrc
#!/bin/sh
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# start some nice programs
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
我尝试清理我的 bashrc 和 bash_profile,但没有成功
将
[ "${XDG_VTNR}" -eq 1 ]
中的 .bash_profile
替换为 [[ "${XDG_VTNR}" == 1 ]]
,这样你的 .bash_profile
看起来像这样:
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc
if [ -z "${DISPLAY}" ] && [[ "${XDG_VTNR}" == 1 ]]; then
exec startx
fi
这应该可以消除
$XDG_VTNR
未设置或不是数字的情况下的错误。