때로는 'find ...'와 같은 유효한 명령을 입력하거나 실제로 무엇인가를 입력하면 다음과 같은 결과를 얻습니다. 이는 전혀 예상치 못한 혼란을 일으 킵니다. ...
명령 이름 입력) :
sh: $'\302\211...': command not found
내 생각에 약간의 부패가있다. 내 프롬프트에서 색상을 사용하지 않는, 나는 POSIX 모드에서 배쉬 셸을 사용하고있다. sh
( chsh
에 /bin/sh
등등 - $SHELL
~이다. sh
).
무슨 일이 일어나고 있으며 왜 계속 이런 일이 일어나고 있습니까? 내가 디버깅 할 수있는 게 뭐니? 나는 이것이 더 많은 것이라고 생각한다. xterm
발행보다 sh
, 또는 적어도이 둘의 조합을 포함 할 수있다.
컨텍스트에 대한 파일 :
나의 /etc/profile
아치 리눅스 x86-64와 함께 배포 됨 :
# /etc/profile
#Set our umask
umask 022
# Set our default path
PATH="/usr/local/sbin:/usr/local/bin:/usr/bin"
export PATH
# Load profiles from /etc/profile.d
if test -d /etc/profile.d/; then
for profile in /etc/profile.d/*.sh; do
test -r "$profile" && . "$profile"
done
unset profile
fi
# Source global bash config
if test "$PS1" && test "$BASH" && test -r /etc/bash.bashrc; then
. /etc/bash.bashrc
fi
# Termcap is outdated, old, and crusty, kill it.
unset TERMCAP
# Man is much better than us at figuring this out
unset MANPATH
나의 /etc/shrc
, 나는 그것을 만드는 길로 창조했다. sh
비 로그인 셸일 때 시작시 일부 파일을 구문 분석합니다. 이것은 ENV
변수 설정 /etc/environment
선과 함께 ENV=/etc/shrc
:
PS1='\u@\H \w \$ '
alias ls='ls -F --color'
alias grep='grep -i --color'
[ -f ~/.shrc ] && . ~/.shrc
나의 ~/.profile
, 첫 번째 가상 tty를 통해 로그인 할 때 X를 시작합니다.
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec xinit -- -dpi 111
나의 ~/.xinitc
볼 수 있듯이 시스템을 Virtual Box 게스트로 사용하고 있습니다.
xrdb -merge ~/.Xresources
VBoxClient-all
awesome &
exec xterm
그리고 마침내, 내 ~/.Xresources
, 여기에 멋진 것들을 나는 추측한다 :
*faceName: Inconsolata
*faceSize: 10
xterm*VT100*translations: #override <Btn1Up>: select-end(PRIMARY, CLIPBOARD, CUT_BUFFER0)
xterm*colorBDMode: true
xterm*colorBD: #ff8000
xterm*cursorColor: S_red
이후 ~/.profile
다른 것들 사이의 참조 /etc/bash.bashrc
여기 내용은 다음과 같습니다.
#
# /etc/bash.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
PS1='[\u@\h \W]\$ '
PS2='> '
PS3='> '
PS4='+ '
case ${TERM} in
xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
;;
screen)
PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
;;
esac
[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
나는 그것이 무엇인지 전혀 모른다. case
그런데 성명서는 조금 의심 스럽긴하지만 다시 한 번 내가 누구인지 알고 있습니다.
ls -l /bin/sh
~이다. lrwxrwxrwx 1 root root 4 Aug 25 12:06 /bin/sh -> bash*
. 나는 ~/.bashrc
내가 Bash 쉘을 소위 POSIX 모드로 돌리고 있기 때문이다. 아니 ~/.bash_profile
어느 한 쪽.
ls -l /bin/sh
? 또한 게시하십시오~/.bashrc
, 문제가있을 수 있습니다. 어떤 OS입니까? 대답은 OS에 따라 다릅니다. ssh를 통해 원격 컴퓨터에 연결 하시겠습니까? 아니면이 로컬입니까? 원격 인 경우 게시하시기 바랍니다.~/.profile
및 / 또는~/.bash_profile
있는 경우.