Questions tagged «zsh»

Zsh是具有许多高级命令行和脚本功能的shell。

7
在bash或zsh中序列化shell变量
有什么方法可以序列化shell变量吗?假设我有一个变量$VAR,并且希望将其保存到文件或其他文件中,然后稍后再读回以获取相同的值? 有便携式的方法吗?(我不这么认为) 有没有办法在bash或zsh中做到这一点?
12 bash  shell  zsh  variable 


5
如何“堆叠” shell别名?
在我的.profile(sh从我的仿真模式中获取.zshrc)中,我有以下代码段: if [ -f /usr/bin/pacmatic ]; then alias pacman=pacmatic fi # Colorized Pacman output alias pacman="pacman --color auto" 但是,第二个别名始终会覆盖第一个别名: % type pacman pacman is an alias for pacman --color auto 我怎样才能使第二个别名分配“继承”第一个分配,从而使/usr/bin/pacmatic别名(如果存在)成为pacmatic --color auto? 我不反对使用函数而不是别名,但是如果不是每次pacman都调用逻辑时就不愿意使用它(我想pacmatic在shell启动时检查一次,而不是每次pacman都运行)。我也希望使用sh-portable脚本,但是如果不可能,则可以使用完整zsh语法。 (是的,我知道,这很容易通过附加来解决--color auto的pacmatic别名。但我想这样做的正确之道™)。 我尝试了Google搜索并浏览了联机帮助页,但无济于事。
12 zsh  alias 

2
zsh希望将vim改成.vim
我在Gentoo x64上使用zsh,当我sudo vim /path/to/file 从主文件夹键入内容时,zsh会问: zsh: correct 'vim' to '.vim' [nyae]? 我不想运行vim我的.vim文件夹。我该如何解决? 我的猜测是setopt autocd造成这种情况的原因。奇怪的是,如果我不添加sudo,zsh不会要求更正任何内容。
12 zsh  sudo  gentoo  line-editor 


2
Gnome终端和Zsh:将当前目录保留在新标签页/窗口中
我在带有Zsh的Arch上运行gnome 3.10.1。我面临的问题是,当我从终端窗口创建新的选项卡或窗口时,它将当前目录重置为我的主目录。 我已经尝试过:gnome-terminal:在new选项卡中跟踪目录,但是没有用。 我坚信也许这可能是.zshrc文件上的某些配置,因此,我将其清理干净并仅添加以下行: . /etc/profile.d/vte.sh 但是,它没有按预期工作。 是的,此文件存在,其内容如下: # Copyright © 2006 Shaun McCance <shaunm@gnome.org> # Copyright © 2013 Peter De Wachter <pdewacht@gmail.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by …

1
修改zsh shell单词拆分
我正在使用单词拆分样式外壳程序(select-word-style shell)。我总体上喜欢它,但也想在正斜杠处分开,因此当我向前/向后一个单词时,如果该单词不包含任何/ s,它将完全跳过该单词,但如果确实包含一个或更多的斜杠,它在第一个斜杠处停止。 有任何想法吗?
12 zsh 

6
在后台静默启动任务
我知道您可以使用它在后台启动进程,而无需在将进程放在后台或完成时收到通知,如下所示: (命令&)&> / dev / null 但是,这删除了在过程结束时进行陷阱的选项(trap child_done CHLD)。 我怎么都可以?
12 process  zsh  trap 

4
空行上的zsh选项卡完成
我想要一种我找不到的tcsh'ism:在没有内容的空白行中,我想按Tab键并看到与ls等效的内容。就是说我要 $ <tab> 做其他事情然后给我一个\ t。我已经找到了用于完成命令的出色资源,但没有针对这种基本情况。任何帮助都会很棒!谢谢。

1
ZSH:即使模棱两可,也要在第一个标签上插入补全?
当前,当我第一次单击Tab时,ZSH会显示一个菜单,并且填写不明确。因此,如果我在命令提示符中输入了“ cd”,然后点击了选项卡,它将显示不同的可用补全。如果我再次点击选项卡,它将选择第一个可用的完成。 我想将这两个步骤合并为一次按Tab键。因此,如果我位于'cd'并按Tab,我希望ZSH插入第一个可用的匹配项(如果模棱两可)并显示菜单,然后如果第一个匹配项不是我的目录,则可以通过它进行浏览心里。 ZSH设置工具将其放在我的.zshrc中,以防任何影响我shell行为的情况: zstyle':completion:*'completeer _expand _complete _ignored zstyle':completion:*'list-colors'' zstyle':completion:*'list-prompt%SAt%p:按下TAB可获得更多,或插入%s zstyle':completion:*'matcher-list'm:{[:lower:] [:upper:]} = {[:: upper:] [:lower:]}''''m:{[:: lower:] [:upper:]} = {[:: upper:] [:. lower:]}' zstyle':completion:*'菜单选择= 5 zstyle':completion:*'select-prompt%S滚动活动:当前选择在%p%s zstyle:compinstall文件名'/home/robb/.zshrc'
12 zsh  autocomplete 



2
在zsh别名中转义引号
关于这个关于从文本中去除换行符的问题之后,我想将其转换为zsh别名,如下所示: alias striplines=' awk " /^$/ {print \"\n\"; } /./ {printf( \" %s \",$0);}"' 我尝试将awk脚本中的引号转义,但出现此错误: awk: (FILENAME=bspsrobustness FNR=1) fatal: division by zero attempted (该文件称为bspsrobustness) 有什么方法可以做我想要的吗?我想我可以将其转换为awk脚本而不是zsh别名,这是我的最佳选择吗?
12 shell  zsh  quoting  alias 

9
安装oh-my-zsh之后:…/.zshrc:source:34:没有此类文件或目录…/.oh-my-zsh/oh-my-zsh.sh
我只是尝试安装oh-my-zsh。尝试运行时出现以下错误rvm: zsh: command not found: rvm 当我尝试打开新标签页时,也会出现以下错误: /Users/jack/.zshrc:source:34: no such file or directory: /Users/jack/.oh-my-zsh/oh-my-zsh.sh /Users/jack/.zshrc:source:38: no such file or directory: .bashrc 这是我的.zshrc档案: # Path to your oh-my-zsh configuration. ZSH=$HOME/.oh-my-zsh # Set name of the theme to load. # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll …
12 bash  zsh  oh-my-zsh 

3
定义别名并立即使用
在zsh这个工作正常: alias foo=ls foo 但这不是: alias foo=ls; foo 交互式运行时,按Enter可以节省额外的时间。但是当运行ssh它时突然变成一个问题: % ssh zsh@server 'alias foo=ls; foo' zsh:1: command not found: foo 即使使用换行符也不起作用: % ssh zsh@server 'alias foo=ls; foo' zsh:2: command not found: foo 奇怪的是zsh知道它是别名: % ssh zsh@server 'alias foo=ls; alias' foo=ls run-help=man which-command=whence 如何分辨zsh别名应处于活动状态?
11 zsh  alias 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.