Questions tagged «zsh»

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


2
如何使命令在zsh中显示为粗体?
我已经设置了bash shell,以便我键入的任何命令均以粗体显示,并且命令的输出以正常权重显示: \e[01m为此,我在PS1变量末尾添加了加粗功能,并使用trap DEBUG了将其关闭的功能: trap 'printf "\e[0m" "$_"' DEBUG 这样,将\e[0m在执行每个命令之前打印,并且在输出中得到正常的字体粗细。 我将如何获得相同的效果 zsh?
18 zsh  colors  prompt 

3
如何列出所有shell变量?
阅读有关此问题的信息:在zsh中如何列出所有环境变量?,我想知道如何列出所有shell变量? 另外,shell变量和环境变量之间的区别是否适用于zsh以外的其他shell? 我主要对Bash和Zsh感兴趣,但是很高兴知道如何在其他主流Shell中做到这一点。

1
在zsh中,cat <(cat)与cat |之间的区别 猫vs猫=(猫)?
我期望cat &lt;(cat)并cat | cat做同样的事情:将行从stdin复制到stdout。我的理解是,两者都将cat在子shell中执行一个,将子shell cat的stdout 重定向到一个临时的命名管道,然后cat在当前shell中执行另一个,将其stdin重定向到该管道。 取而代之的是cat &lt;(cat)让我在终端上键入内容,但是没有任何输入行被复制并且^D无法发出信号EOF;cat | cat工作正常。 作为进一步的实验,我检查了是否cat =(cat)有与相似的困难cat &lt;(cat),但是它按我的预期工作:一次将所有stdin直到一个^Dget都复制到stdout。 谁能帮助我了解zsh的功能?

2
zsh:在tmux中设置TERM = screen-256color,但在没有tmux的情况下设置xterm-256color
我需要我的$TERM是xterm-256colorTMUX以外(在“普通”与zsh的终端),但screen-256color里面TMUX。 首先,我尝试了: 添加export TERM='xterm-256color'到我的~/.zshrc。 添加set -g default-terminal "screen-256color"到我的~/.tmux.conf 现在,当我打开终端(例如xterm)时,TERMis xterm-256color是正确的。但是当我运行tmux时,又TERM是xterm-256color! 然后,我尝试在自己的评论中删除一行~/.zshrc。现在,当我打开终端时,TERM是xterm,当我运行tmux时,TERM是screen-256color。所以看来,如果我将设置TERM为.zshrc,则tmux首先设置TERM为screen-256color,运行shell(即zsh),然后zsh读取.zshrc并重置TERM为xterm-256color。 那么,如何使TERM自己xterm-256color在“普通”终端和screen-256colortmux中?
18 zsh  tmux  xterm 

2
zsh:从模式中排除文件
说我有以下文件: |-- bar `-- foo |-- type_A_1 |-- type_A_2 |-- type_B_1 |-- type_B_2 |-- type_B_xx |-- type_B_xx `-- something_else 我以为以下命令 print -l foo/*~{type_B*} 将打印一切下foo ,除了东西下手type_B,但它并没有,而是在富打印的一切: foo/type_A_1 foo/type_A_2 foo/type_B_1 foo/type_B_2 foo/type_B_xx foo/something_else 我也尝试过print -l foo/*~type_B并得到了同样的东西。 异常通配符~在zsh中如何工作?

1
zsh的zmv:空运行和手册页
我听说过伟大的事情有关zmv的zsh,并会喜欢真正学会使用它。但是,我对zsh还是比较缺乏经验,并且有一些基本问题: 是否有zmvin 的手册页zsh(man zsh输出“无手动输入zmv”) zmv本机是否允许空运行? 如果以上答案是否定的,您将如何测试或进行空试zmv?
18 zsh  rename 

4
缩短zsh提示中的路径
Bash有PROMPT_DIRTRIM选项,例如,当我设置时PROMPT_DIRTRIM=3,则是一个长路径,例如: user@computer: /this/is/some/silly/path 而是显示为: user@computer: .../some/silly/path 是否存在类似的选择zsh?
18 zsh  prompt 

5
键绑定表?
我们是否有一个键绑定表可以转换所有不同的按键方式?我正在使用zsh,但我假设如果有这样一个表,它将适用于任何shell。 我问的原因是我想分配一些键绑定,但是我不知道如何引用它们(除非我要窃取已经定义的键绑定)。 例如,在“ zbindkey”中,我们有这样的事情: [[ "$terminfo[kend]" == " O"* ]] &amp;&amp; \ bindkey -M emacs "${terminfo[kend]/O/[}" end-of-line ...而且我猜想“ kend”表示这是指End密钥。 交叉检查,bindkey我看到以下几行: "^E" end-of-line "^[OF" end-of-line "^[[F" end-of-line ...因此,我相信这些行之一是指End关键。哪一个? 我们在“ bindkey”文件中也有此文件: bindkey "\e[A" history-beginning-search-backward 现在,我碰巧知道这就是Up Arrow关键,但是如果我不知道如何找到我呢? $ bindkey (at CLI) ...为相同的键提供了不同的语言: "^[[A" history-beginning-search-backward ...但是至少现在我知道, ^[[A在CLI的bindkey-at \e[A-zLID中讲和在bindbin-in-zbindkey的讲中一样。这很容易。在DOS的Up Arrow 过去0;72,您可以找到每个合法按键的扫描代码,而且只有一种语言。 有桌子吗?或其他能够选择击键并知道如何在terminfo[]...中的“ bindkey-in-zbindkey”中...,在“ bindkey-at-CLI”中和/或任何其他语言中引用它的方式碰巧是? 再次,在DOS中有一个scancode程序-键入一个按键,就得到了扫描代码。简直太容易了。 …

1
Zsh制表符补全无法部分路径所需的工作
我想要中的文件和目录不区分大小写的模糊完成zsh。阅读了几个小时的手册后,我想到了以下内容: zstyle ':completion:*:*:*:*:globbed-files' matcher 'r:|?=** m:{a-z\-}={A-Z\_}' zstyle ':completion:*:*:*:*:local-directories' matcher 'r:|?=** m:{a-z\-}={A-Z\_}' zstyle ':completion:*:*:*:*:directories' matcher 'r:|?=** m:{a-z\-}={A-Z\_}' 此外,我想按TAB一次以显示可能的补全,仅在有一个补全的情况下才修改输入的内容。然后再按TAB一次将使我进入“菜单完成”模式。根据手册,我想到了以下内容: zstyle ':completion:*' menu select 现在,在一种情况下,一切都会按预期进行。我有两个文件夹,Desktop并且.rstudio-desktop在主目录中。既然有了setopt globdots,我希望输入以下内容: $ cd ~/dktop&lt;TAB&gt; 保留输入的命令,并显示为完成候选Desktop和.rstudio-desktop。相反,它将删除 dktop,剩下以下内容: $ cd ~/ 我看了所有相关的手册,指南,Stack Exchange问​​题以及其他各种来源。但是无论我做什么,我都无法完成这项工作。 不过,有趣的是,如果我在主目录中并键入以下内容,则一切都会按预期进行: $ cd dktop&lt;TAB&gt; 也就是说,这仅是路径的非前导段的问题(您可以看到C-x h,这对应于directories标记而不是local-directories所使用的标记)。 为了易于重现,此处提供了~/.zshrc一种可以重现上述情况和行为的工具(在zshHomebrew 的全新El Capitan虚拟机上进行了测试)。
17 zsh  autocomplete 

1
为什么这个ffmpeg命令在bash而不是zsh中起作用?
今天我下班回家(在Ubuntu盒子上运行bash),并尝试使用心爱的zsh在本地arch盒子上运行一些代码,命令是否失败? 下面的命令与个人信息和IP明显改变 ffmpeg -i rtsp://user:pass@my.webserver.org:5554/my-media/media.amp?videocodec=h264 -threads 3 -vcodec copy -f segment -segment_time 2 outfiles/cam_out%04d.mp4 它在bash中运行完美,但是在zsh中运行时出现错误 zsh: no matches found: rtsp://user:pass@my.webserver.org:5554/my-media/media.amp?videocodec=h264 为什么我心爱的zsh出卖了我?
17 bash  zsh  quoting  url 

1
Zsh中“ ../”的制表符补全
在bash中,我可以使用制表符补全功能将一个目录上移并再次下移到另一个路径。例如,假设我在$HOME/folder1,我想cd给$HOME/folder2。$HOME只有两个子目录folder1和folder2。 在bash中,我可以输入 cd ..[TAB]f[TAB]2 并最终在$HOME/folder2。在我的最新zsh安装中,按cd ..[TAB]会产生一个子目录的列表,这些子目录的名称中$HOME/folder1有两个.。 有没有一种简单的方法可以使我习惯?还是有什么更容易在zsh中实现我想要的?

1
如何在zsh中对su​​do [command]禁用自动更正?
我的zsh和oh-my-zsh具有默认值,无法弄清楚如何关闭我经常使用的特定命令的自动更正,例如:sudo mc或sudo gem update。问题是我有.mc目录和.gem目录,而zsh提出自动更正(zsh: correct 'mc' to '.mc' [nyae])。 通常,我想配置zsh,这样sudo [smth]它就不会被视为用于自动校正的单独命令(不是)。有什么解决办法?

3
如何解决制表符补全,使其不隐藏条目?
我在Mac OS X上使用自制版本的zsh 4.3.12使用oh-my-zsh。我最近偶然发现了一个奇怪的问题。在scripts/not-used我有几个.R文件: breakdowns.R eventloop.R process-largeclients.R process-qt.R reprocess-pinning.R calculate-qt-error.R generate_decision_tree.R process-net.R process-scalingexp.R 然而,当我尝试ls scripts/not-used/+ Tab第一完成是ls scripts/not-used/_.R其中_代表光标位置。如果再按Tab一次,将得到以下奇怪的结果: $ ls scripts/not-used/.R breakdowns.R eventloop.R 如何消除这种丑陋(错误)的行为? 设置的选项为: alwaystoend autocd autonamedirs autopushd cdablevars completeinword correctall extendedglob extendedhistory noflowcontrol histexpiredupsfirst histignoredups histignorespace histreduceblanks histverify incappendhistory interactive login longlistjobs monitor promptsubst pushdignoredups pushdminus pushdsilent pushdtohome sharehistory …

3
哪个外壳解释器运行没有shebang的脚本?
假设我帐户的默认外壳是zsh,但是我打开了终端并启动了bash并执行了一个名为的脚本prac002.sh,那么该外壳解释器将用于执行zsh或bash脚本?考虑以下示例: papagolf@Sierra ~/My Files/My Programs/Learning/Shell % sudo cat /etc/passwd | grep papagolf [sudo] password for papagolf: papagolf:x:1000:1001:Rex,,,:/home/papagolf:/usr/bin/zsh # papagolf's default shell is zsh papagolf@Sierra ~/My Files/My Programs/Learning/Shell % bash # I fired up bash. (See that '%' prompt in zsh changes to '$' prompt, indicating bash.) papagolf@Sierra:~/My Files/My Programs/Learning/Shell$ ./prac002.sh …

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.