![内置终端扩展显示与默认 bash 终端不同的文件](https://linux22.com/image/1633835/%E5%86%85%E7%BD%AE%E7%BB%88%E7%AB%AF%E6%89%A9%E5%B1%95%E6%98%BE%E7%A4%BA%E4%B8%8E%E9%BB%98%E8%AE%A4%20bash%20%E7%BB%88%E7%AB%AF%E4%B8%8D%E5%90%8C%E7%9A%84%E6%96%87%E4%BB%B6.png)
我正在尝试使用 Sublime Text 3 扩展终点站,但在 Clear Linux 上遇到了一个奇怪的问题,我在 Ubuntu 20 上没有遇到过——同样的问题也出现在其他类似功能的扩展上航站楼景观:
大多数命令,包括sudo
、python
等node
,在默认系统终端(Bash)上正常工作的命令都会command not found
在扩展终端中返回。这显然是 的问题$PATH
,所以我在默认终端中找到了路径变量,并将其与 echo 命令一起放入其中,~/.bashrc
以 ~/.profile
确保它们运行 - 果然它们确实在扩展终端中运行,并且确实影响了其路径变量,但这并不能解决问题。以下是一些日志。
~/.bashrc executed
~/.profile executed
Matt@jdrive:~$ echo $PATH
/usr/bin/haswell:/usr/local/bin:/usr/local/sbin:/usr/bin:/opt/3rd-party/bin
Matt@jdrive:~$ sudo
sh: sudo: command not found
Matt@jdrive:~$ bash
~/.bashrc executed
Matt@jdrive:~$ echo $PATH
/usr/bin/haswell:/usr/local/bin:/usr/local/sbin:/usr/bin:/opt/3rd-party/bin
Matt@jdrive:~$ sudo
bash: sudo: command not found
sh
这也证实了无论是否bash
正在运行,问题都存在。我已经确认$PATH
默认终端(bash)中的是相同的,并且找到了预期的命令。最后,我决定简单地看看默认和内置终端中的路径变量会导致什么。
总结:
/usr/bin/
令我惊讶的是,根据终端(默认系统终端或内置 Sublime 扩展)的不同,列出文件会导致不同的结果,这与终端能够找到的命令直接相关。更奇怪的是,内置终端并不是一个严格的子集,其中的一些文件/usr/bin
不在默认终端的列表中,尽管大多数文件在内置终端中缺失。
此外,在一个终端的根目录中创建的文件实际上不会显示在另一个终端中。我检查了下载文件夹,它们是一致的 - 可能排除了一些奇怪的跨驱动器操作。
这真的让我完全不知所措,因为我不知道在这种情况下导航到相同的目录如何会产生不同的结果 - 就像一个终端处于另一个维度一样。希望我即将学到一些关于终端如何运行的基本知识来解释这个问题。
-i
有初始命令用于分别使用默认值和“交互式”以及“登录”来打开内置 shell -l
- 虽然这是一种摆弄的途径,但我不确定到底要尝试什么。