在 arch 中的 bash shell 启动时出现“-bash: [: : integer expression Expected”错误

问题描述 投票:0回答:1

每当我启动 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,但没有成功

linux bash xorg arch xrdp
1个回答
0
投票

[ "${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
未设置或不是数字的情况下的错误。

© www.soinside.com 2019 - 2024. All rights reserved.