Macbook Air终端显示「进程已完成」
前天在安装Python3,7的时候,按照网上的教程删除了Mac自带的python2.7。但是python3.7也没有整合进终端,反而出现了下面的情况。
MacBook Air
前天在安装Python3,7的时候,按照网上的教程删除了Mac自带的python2.7。但是python3.7也没有整合进终端,反而出现了下面的情况。
MacBook Air
如果用户的默认shell是bash或者被指定使用bash的话,在终端启动时,会运行系统和用户定义的profile文件,终端窗口开启后即结束的问题,很可能是这两种profile文件错误配置导致的。macOS 10.15 Catalina开始,用户默认的shell是zsh,虽是另外一种情况,但题主图中依然使用/bin/bash作为新窗口shell的解释器,那么依然可以参考下面的步骤,只不过使用非bash开启窗口后就可以修复bash了。下面所说的步骤可以适合于更广泛的用户情况。
解决办法可以大致有三个步骤着手:
1:在刚刚打开的终端重新后,第一个窗口进程结束了,再打开一个窗口,如果能够成功,说明是~/.bashrc文件错误,将其改名/删除都可以。
2:如果上面的不成,说明是~/.profile 或 ~/.bash_login 或者 ~/.bash_profile文件问题。可以新建一个管理员帐户后或者使用诸如zsh或其它shell开启一个新terminal窗口之后,把这两个文件(不是新建帐户的,是老帐户的)改名或/删除。登陆到旧帐户(如果需要)后,确认是否问题解决。
3:如果上面步骤2中,依然出现问题,说明是系统级的文件 /etc/profile 配置错误,那么就要绕开它,比如使用外置系统盘启动,或者是恢复启动,也可以尝试使用其它shell,如zsh。之后,将系统的 /etc/profile 文件恢复为默认的,macOS 10.11(保守地说),它的系统默认的/etc/profile内容是:
# System-wide .profile for sh(1)
if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
if [ "${BASH-no}" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi
有可能还有检查下面的文件内容 /etc/bashrc,下面是系统默认的:
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
[ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM"
经上面的步骤后,可以解决绝大多数情况的bash启动问题,否则就要更进一步的排查了。
如果用户的默认shell是bash或者被指定使用bash的话,在终端启动时,会运行系统和用户定义的profile文件,终端窗口开启后即结束的问题,很可能是这两种profile文件错误配置导致的。macOS 10.15 Catalina开始,用户默认的shell是zsh,虽是另外一种情况,但题主图中依然使用/bin/bash作为新窗口shell的解释器,那么依然可以参考下面的步骤,只不过使用非bash开启窗口后就可以修复bash了。下面所说的步骤可以适合于更广泛的用户情况。
解决办法可以大致有三个步骤着手:
1:在刚刚打开的终端重新后,第一个窗口进程结束了,再打开一个窗口,如果能够成功,说明是~/.bashrc文件错误,将其改名/删除都可以。
2:如果上面的不成,说明是~/.profile 或 ~/.bash_login 或者 ~/.bash_profile文件问题。可以新建一个管理员帐户后或者使用诸如zsh或其它shell开启一个新terminal窗口之后,把这两个文件(不是新建帐户的,是老帐户的)改名或/删除。登陆到旧帐户(如果需要)后,确认是否问题解决。
3:如果上面步骤2中,依然出现问题,说明是系统级的文件 /etc/profile 配置错误,那么就要绕开它,比如使用外置系统盘启动,或者是恢复启动,也可以尝试使用其它shell,如zsh。之后,将系统的 /etc/profile 文件恢复为默认的,macOS 10.11(保守地说),它的系统默认的/etc/profile内容是:
# System-wide .profile for sh(1)
if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
if [ "${BASH-no}" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi
有可能还有检查下面的文件内容 /etc/bashrc,下面是系统默认的:
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
[ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM"
经上面的步骤后,可以解决绝大多数情况的bash启动问题,否则就要更进一步的排查了。
Macbook Air终端显示「进程已完成」