Cal*_*lin 5 fish unity-dash snap
在 Ubuntu 18.04 上,我已将 shell 更改为通过
chsh -s `which fish`
Run Code Online (Sandbox Code Playgroud)
我已经安装了 Maillspring 和 Visual Studio Code snap 应用程序,它们安装得很好,最初可以从仪表板启动,但在登录并注销后,它们都不再出现在仪表板中。
在软件商店中搜索它们显示已安装,我可以从那里启动它们。
为什么默认 shell 对此很重要?
您最初在问题中使用的命令chsh -s which bash正如您所说的一个拼写错误,导致您的问题产生很大的混乱。即使它是用 bash 周围的 ` 符号正确形成的,如下所示。
它将把 shell 更改为bash(默认)。fish更改要使用的外壳
或者只需使用该命令 chsh并输入您要使用的 shell 的路径。见下文:
me@zippy-64bit:~$ chsh
Password:
Changing the login shell for me
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:
Run Code Online (Sandbox Code Playgroud)
有关鱼壳的更多信息,请参阅此。
编辑:关于快照包:默认外壳会重要吗?答案是可能的,因为这取决于程序员所做的假设和采取的方法。请参阅上一个链接中 bash 和 Fish 处理方式的差异。例如,fish 没有隐式子 shell,这可能会对期望类似于 bash 行为的程序员在变量分配中产生令人惊讶的副作用。这里的问题中有一个很好的例子,说明了对隐式子 shell 的期望。
为什么?为了澄清这一点,fish 和其他更常见的 shell(如 bash)之间对继承概念的处理似乎有所不同。我的理解是,这可能会导致管道、循环和函数(所有这些都是常用的编程策略)出现意外的行为。
程序员还可能依赖shell 内置函数,这些内置函数可能不存在于 Fish 中,或者可能以意想不到的方式实现。
资料来源:
| 归档时间: |
|
| 查看次数: |
987 次 |
| 最近记录: |