我最近将我的默认 shell 更改为 fish(来自 bash)。每当我用 bash 打开控制台时,我都将 tmux 设置为自动运行,但我不确定如何用鱼设置它。
我试过放
[[ $TERM != "screen" ]] && exec tmux
Run Code Online (Sandbox Code Playgroud)
在fish.config 中,但这不起作用。如何将 tmux 设置为在 fish 中自动运行?
让我们假设我的想法不对,因为没有人使用过像bash、fish或oh(或此处列出的任何其他 shell )这样的好 shell会想要这个。
尽管如此,bash在 Windows 上可以看到,有没有人尝试过CMD.EXE为 Linux创建?如果是这样,我可以从哪里得到它,如果没有,为什么没有人这样做?
我在这里问是因为谷歌搜索对我问的问题做出了假设(可能是因为没有人会首先提出问题。)
我正在尝试将鱼设置为我的默认外壳。它通过 apt-get 安装在系统上,并列在/etc/shells:
> which fish
/usr/bin/fish
> grep fish /etc/shells
/usr/bin/fish
Run Code Online (Sandbox Code Playgroud)
我曾经chsh从 Bash 切换到 Fish:
> chsh -s /usr/bin/fish
Run Code Online (Sandbox Code Playgroud)
我的默认外壳已更改为/etc/passwd:
> grep "myusername" /etc/passwd
myusername:x:1000:1000:Oh Spite,,,:/home/myusername:/usr/bin/fish
Run Code Online (Sandbox Code Playgroud)
惊人的。然后我注销并重新启动。登录 shell(例如,虚拟 TTY 和 SSH)现在启动 fish。
然而,当我使用 gnome-terminal 或 urxvt 启动终端时,会启动一个 bash 会话。此外,该SHELL变量仍设置为/bin/bash。
有趣的是,终结者确实使用 fish 作为默认 shell。但即使在那个会话SHELL中设置为/bin/bash. 如果我从 Terminator 启动 urxvt,则 urxvt 会启动 Bash 会话。
我还需要做什么才能将我的默认 shell 更改为 fish?
(另请参阅此问题,但这不是重复的,因为我已按照这些说明进行操作并重新启动。现在很多次了。)
在 Vim 中,我实际上可以使用鼠标在插入模式下定位光标。所以我认为这应该(技术上)也可以为 bash 启用。是否可以?当必须对很长的命令进行小的更改时,这将非常有用。
(我实际上使用的是鱼,但我想指的是 bash 我接触到了更广泛的受众。)
我试图弄清楚这些人是如何设法将状态行放在鱼壳底部的,正如他在这里分享的那样。
https://github.com/yongjhih/rc/blob/master/art/screenshot-fish-powerline.png
我使用这个问题的指令设置电力线
谢谢!
在 Ubuntu 18.04 上,我已将 shell 更改为通过
chsh -s `which fish`
Run Code Online (Sandbox Code Playgroud)
我已经安装了 Maillspring 和 Visual Studio Code snap 应用程序,它们安装得很好,最初可以从仪表板启动,但在登录并注销后,它们都不再出现在仪表板中。
在软件商店中搜索它们显示已安装,我可以从那里启动它们。
为什么默认 shell 对此很重要?
我已经看到了一些关于如何在 fish 是默认 shell 时进入 bash 的问题。我实际上想做相反的事情。我目前将 fish 作为我的默认 shell,但想返回到 bash 作为我的默认 shell。但是,我不想卸载fish,并且希望可以自行决定进入与fish 的shell 会话。关于如何做到这一点的任何建议?
我有阅读障碍,所以我使用鱼作为我的 shell,因为它非常适合预测、校正和锯齿。我试图弄清楚如何创建一个别名,其中包含一个变量,后面跟着别名的其余部分。
\n\n示例:\n现在我有 alias ppa="sudo add-apt-repository"。我可以输入ppa然后复制存储库的ppa:foo-bar/ppa然后得到sudo apt-add-repository ppa:foo-bar/ppa
这很方便,所以如果接下来的部分太困难或根本不可能完成,不用担心。
\n\n我想将此别名修改为ppa="sudo add-apt-repository"; upd (where upd is also aliased asupd="sudo apt update"`)。我有办法做到这一点吗?如果我说得不够清楚,以下是我在这种情况下想要对 cli 执行的操作:
带变量的别名:
\n $ ppa [variable]
\n带变量的已解码别名:
\n$ sudo sudo add-apt-repository [variable] ; upd
如上示例:\n带变量的别名:
\n $ ppa ppa:foo-bar/ppa
\n带变量的解码别名:
\n$ sudo sudo add-apt-repository ppa:foo-bar/ppa ; upd
有没有办法做到这一点?再说一次,如果不是或者它的方式对于它的价值来说太复杂,没问题。
\n\n多谢!我很感激!
\n\n\xe3\x80\x9c 埃夫
\n\nPS——如果有人希望我帮助他们为他们一直输入的命令创建自己的别名,并希望使用 Fish 来这样做,请随时询问。我很乐意提供帮助!
\n我目前正在使用鱼壳。由于我经常使用fish, zsh, bash,我如何在其中一个中定义一个可用于所有 shell 的函数?我必须在 中定义它们.profile吗?
一旦我离开终端并在之后重新使用它,我得到:
fish ×10
command-line ×7
bash ×4
alias ×1
login ×1
mouse ×1
snap ×1
tmux ×1
unity-dash ×1
zsh ×1