Macbook Air终端显示「进程已完成」

前天在安装Python3,7的时候,按照网上的教程删除了Mac自带的python2.7。但是python3.7也没有整合进终端,反而出现了下面的情况。

MacBook Air

发布日期 2019年9月20日 上午1:35

回复
问题被标记为 排名最靠前的回复

发布日期 2019年9月20日 下午6:53

如果用户的默认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启动问题,否则就要更进一步的排查了。

回复量:1
问题被标记为 排名最靠前的回复

2019年9月20日 下午6:53 回应 Lemon_black_tea

如果用户的默认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终端显示「进程已完成」

欢迎来到 Apple 支持社区
Apple 客户在其产品方面互相帮助的论坛。使用您的 Apple 帐户开始畅游其中吧!!