作者s9209122222 (海海海)
看板Linux
标题[问题]求与fish同功能的POSIX相容shell
时间Sun Jan 24 08:38:52 2021
最近开始尝试 bash 以外的 shell,
先尝试了 zsh 配合 oh-my-zsh,
结果套用某主题时,tty 显示异常,
可能是中文资料夹的关系,
接下来试了 fish,真的太好用了,
但他不是 POSIX 相容,语法不同,
作者认为 POSIX 太垃圾,
他的语法也确实比较好用合逻辑,
但在 Linux 还是需要通用的东西呀!
请问有两者兼顾的 shell 吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.35.210.216 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1611448734.A.558.html
1F:→ dododavid006: zsh 换搭别的主题试试呢?你说的 tty 真的是那个 01/24 09:00
2F:→ dododavid006: tty ? 01/24 09:00
3F:推 penut85420: 我自己用oh-my-zsh+powerlevel10k问题是不太大 01/24 09:15
4F:→ penut85420: 能说看看你的显示异常是什麽问题吗? 01/24 09:15
5F:推 roccqqck: zsh通常是字型问题吧 改gentoo主题试试 01/24 12:08
6F:→ s9209122222: gentoo 主题真的很通用,和我的 bash 有 99 分像 01/24 12:15
7F:→ s9209122222: tty 显示图片那些好像会有问题 01/24 12:16
8F:→ s9209122222: 现在有问题了,已经套用 powerlevel10k,但没有 auto 01/24 12:21
9F:→ s9209122222: -completion 01/24 12:21
10F:→ s9209122222: 她根本不能自动输入套件名称 01/24 12:54
11F:→ s9209122222: 不像 bash-completion 和 fish 01/24 13:08
12F:→ s9209122222: 装 zhs-completions 也没作用 01/24 13:28
13F:→ s9209122222: zsh 01/24 13:28
14F:推 btzhang2718: 不要用oh-my-zsh 直接把mod的*zsh档贴到zshrc就好 01/24 17:14
15F:→ dododavid006: 不能 completion 试试把 ~/.zcompdump 砍掉後重开呢 01/24 17:40
16F:→ s9209122222: 删过了,没用 01/24 17:53
直接贴我的设定给大家看好了,有注解的部份我就删掉以免篇幅过长
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
ZSH=/usr/share/oh-my-zsh/
ZSH_THEME="powerlevel10k/powerlevel10k"
DISABLE_AUTO_UPDATE="true"
ZSH_CUSTOM=/usr/share/zsh
plugins=(
git
zsh-syntax-highlighting
zsh-autosuggestions
zsh-completions
history-substring-search
)
ZSH_CACHE_DIR=$HOME/.cache/oh-my-zsh
if [[ ! -d $ZSH_CACHE_DIR ]]; then
mkdir $ZSH_CACHE_DIR
fi
source $ZSH/oh-my-zsh.sh
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
※ 编辑: s9209122222 (114.35.210.216 台湾), 01/24/2021 18:20:39
17F:→ EdwardGJLee: bash 不好吗?可以用 fish,写程式用 bash。 01/24 19:01
18F:→ s9209122222: 不要,我要通用的 01/24 19:14
19F:→ s9209122222: fish 太好用,回不去 01/24 19:14
20F:→ EdwardGJLee: 就是继续 fish 当介面。写程式才用 bash。没有通用的 01/24 19:25
21F:→ EdwardGJLee: 很多人也是用 C shell 当介面,写程式用 bash。 01/24 19:25
22F:→ EdwardGJLee: 用 fishi + bash|perl|ruby|python 程式可能更实用? 01/24 19:27
23F:→ EdwardGJLee: fish 发展也有十五年以上,为什麽没有热起来?想想看 01/24 19:29
24F:→ s9209122222: 所以想说把 ZSH 设定到接近 FISH,但他就是没办法自 01/24 19:38
25F:→ s9209122222: 动搜寻套件名称 01/24 19:38
27F:→ s9209122222: 就是用了没办法呀 01/24 19:46
28F:→ EdwardGJLee: 提 issue 呀! 01/24 19:47
29F:→ s9209122222: 提过了呀 01/24 19:48
31F:→ EdwardGJLee: 用过 git 的版本了吗? 01/24 19:50
32F:→ s9209122222: 有试过,但等下再试一次看看 01/24 19:50
34F:→ EdwardGJLee: arch 第三方有 git 版本。 01/24 19:53
35F:→ EdwardGJLee: 你的 issue 这样提,人家不晓得要如何回应…… 01/24 20:21
36F:→ s9209122222: 我也不晓得该怎麽问呀,试了完全照 github 的方式装 01/24 21:12
37F:→ s9209122222: 还是不行 01/24 21:12
38F:→ EdwardGJLee: 把 .zshrc 相关设定暂时保存。裸进 zsh 能用吗? 01/24 22:31
39F:→ EdwardGJLee: 我刚试了一下,安装好就能用。 01/24 22:31
40F:→ s9209122222: 裸进不能用,但那位开发者给解答了 01/24 22:54
We do not provide the pacman completion file. And it is provided by pacman itself.
https://git.archlinux.org/pacman.git/tree/scripts/completion/zsh_completion.in
It says # copy this file to /usr/share/zsh/site-functions/_pacman.
Please copy it and retry.
创建那个档案把内容复制过去後,我删除 .zcompdump 後重开就有了。
※ 编辑: s9209122222 (114.35.210.216 台湾), 01/24/2021 22:55:39
41F:→ s9209122222: 所以到底…… 01/24 22:55
42F:→ EdwardGJLee: arch 人不用 zsh?BTW, I use Slackware. XD 01/24 23:05
43F:→ s9209122222: Arch 预设 ZSH 呀 01/24 23:13
44F:→ s9209122222: yay 也是去 github 上面抓他们 completions 下来 01/24 23:13
45F:→ s9209122222: 才解决的…… 01/24 23:13
※ 编辑: s9209122222 (114.35.210.216 台湾), 01/24/2021 23:14:42
46F:推 Arbin: arch 已经预设在 base 包是 zsh 了吗...之前还是 bash 的 01/25 10:34
47F:→ Arbin: 说 01/25 10:34
48F:→ brli7848: arch只有安装映像是进zsh初始系统还是bash 01/25 11:12
49F:→ Gold740716: 不一定要坚持 posix 相容吧,一些需要相容的地方,可 01/25 11:33
50F:→ Gold740716: 以直接改用 python perl 等脚本语言写,如果不喜欢 01/25 11:34
51F:→ Gold740716: posix shell 的话 01/25 11:34
52F:推 VdustR: 我平常也都用 fish 但 script 或贴上别人的语法会进 bash 01/25 13:19
53F:推 rot13: 个人用zsh加zprezto 01/25 18:34
54F:→ s9209122222: 结果最後直接照 archwiki 的方式最快也最简单…… 01/27 12:05