我有一个获取docker根目录的命令如下:
$ docker info | grep "Docker Root Dir: " | awk '{print $NF}'
/mnt/blah/docker-data
运行正常。但是,当我尝试使用此命令设置环境变量时,终端不会再接受任何命令,并给出一个奇怪的错误:
$ DOCKER_ROOT_DIR=$(docker info | grep "Docker Root Dir: " | awk '{print $NF}')
~ $ DOCKER_ROOT_DIR=$(docker info | grep "Docker Root Dir: " | awk '{print $NF}')
docker:~: command not found
~ $ : command not found
~ $ : command not found
~ $
我无法输入任何命令并且 ENTER 或 ^C 导致: command not found
。
我做错了什么傻事?
回答:
~ $ trap
trap -- '' SIGTSTP
trap -- '' SIGTTIN
trap -- '' SIGTTOU
trap -- 'trap_handler $BASH_COMMAND' DEBUG
~ $ echo "$PS1"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[\033[00m\]\[\033[01;34m\]\w\[\033[00m\] \$ \[\e]2;echo:~\a\]
~ $ echo "$PROMPT_COMMAND"
~ $
~ $ declare -f trap_handler
trap_handler ()
{
LAST_CMD=`echo "$1"`;
NICE_PWD=`pwd | sed 's/\/home\/rowead/~/'`;
set-title $LAST_CMD:$NICE_PWD
}
```
# function to set terminal title
function set-title(){
if [[ -z "$ORIG" ]]; then
ORIG=$PS1
fi
TITLE="\[\e]2;$*\a\]"
if [ -n "${VIRTUAL_ENV}" ]; then
venv=`basename "${VIRTUAL_ENV}"`
PS1=($venv)${ORIG}${TITLE}
else
PS1=${ORIG}${TITLE}
fi
}