Questions tagged «zsh»

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



2
我只能在使用globbing时使rm交互吗?(使用bash或zsh或同时使用)
每当我rm用外壳球一次添加多个项目时,即使模式扩展到超出我预期的可能性甚至是很小的可能性,我也总是会记得添加-i,但是(当然)我会忘记并且不小心吹走了一些有用的东西。有些人尝试使用别名来解决此问题,例如,alias rm='rm -i'但我讨厌让rm 始终保持交互式的想法,因为那样我就会养成一直使用的习惯-f,这显然会破坏整个目标。 我想做的是rm仅-i在使用globbing时使用,并且-f当然要覆盖它-i,因此我仍然可以像平常一样删除整个目录rm -rf junk。 因此rm *blah*,确实会,rm -i *blah*但是rm blah会完全按照键入的方式工作。 如果在不同的shell中完成此操作的方式有所不同,我将选择一个答案,该答案为bash 和 zsh 提供方法,而不是仅涵盖一个或另一个的答案。 注意:我实际上并不认为这一定是个好主意;我只是问是否有可能。如果您认为这是一个愚蠢的主意,我很高兴听到您的意见背后的原因,但请不要在答案栏中发布此类评论。真正的答案要么告诉我如何执行此操作,要么解释为什么/不可能(或者可能提供一种替代方法来获得类似结果)。但是,如果您想告诉我为什么这很愚蠢,请发表评论。即使我不同意结论,我也会发表理性的评论。
15 bash  zsh  wildcards  rm 

4
从剪贴板粘贴到启用vi的zsh或bash shell
我希望能够使用键盘从系统剪贴板(或文本选择)粘贴到“类似于vi”的shell提示中。我通常使用zsh,有时使用bash。在这两种情况下,我都将外壳程序设置为类似vi的行为(bindkey -v/ set -o vi)。 在vim中,键序列可提供我正在寻找的行为"+p。但是,此特定的键序列在启用vi的shell提示中无法按预期工作。有什么方法可以仅通过键盘启用此功能或类似的行为,而在zsh或bash shell提示中保留类似vi的键绑定吗? -编辑- 用例:我经常在带有Pentadactyl插件,终端仿真器和vim本身的Firefox之间导航-使用带有自定义键的Xmonad窗口管理器来移动。这三个程序都具有类似vi的键绑定,这非常有效(用于“手指存储”),因此仅使用vim语法(或非常相似的语法)在它们之间传递文本是理想的选择。
15 bash  shell  zsh  vi  clipboard 

4
zsh可以访问上次运行程序的标准输出吗?
我经常使用find或locate查找有关路径的信息。 (~) locate foobar.mmpz /home/progo/lmms/projects/foobar.mmpz 下一步通常是打开文件或以其他方式操作文件。在像上面这样的快乐情况下,我可以这样做: (~) ls `!!` ls `locate foobar.mmpz` /home/progo/lmms/projects/foobar.mmpz 但是,当有许多行输出时,没有人会太高兴,其中某些行可能不是路径或其他类似的东西。此外,重新运行可能浪费的命令也不是一件容易的事。 是否有办法连接zsh将stdout存储到数组中以供以后处理?毕竟,将流重定向到用户是Shell的工作。我在想它可以将前N行和后N行存储在变量中,以便像$?其他变量一样立即使用。 好的,这很酷:https : //unix.stackexchange.com/a/59704/5674。我现在正在询问有关zsh的专门知识(并将代码移植到zsh),以便在每次运行后都进行这种捕获。
15 terminal  zsh  output 

3
zsh中的双重rm验证
当我在zsh中执行rm *时,会得到如下信息: 2014-06-08 10:14:23 $ rm * zsh: sure you want to delete all the files in /home/assay/assay/log [yn]? y rm: remove regular file `development.log'? y 首先zsh询问我是否确定要全部删除,然后rm询问每个特定文件。 我怎样才能拥有zsh验证?
15 zsh  rm 

2
如何仅更改一个命令的umask?
如何在Linux(如果重要的是zsh)中以不同于默认umask的方式交互式执行命令(仅适用于一个命令)?也许将命令组合成一行?新的umask应该仅适用于该命令,并为输入的下一个命令返回其默认值。 理想情况下,该命令将与输入之前生效的默认umask无关(换句话说,不必指定默认umask)。
15 zsh  umask 

8
检查变量是像Bourne这样的shell中的数组吗?
在像shell这样的Bourne中,它支持数组变量,我们可以使用一些解析来检查变量是否为数组。 下面的所有命令都在运行后运行a=(1 2 3)。 zsh: $ declare -p a typeset -a a a=( 1 2 3 ) bash: $ declare -p a declare -a a='([0]="1" [1]="2" [2]="3")' ksh93: $ typeset -p a typeset -a a=(1 2 3) pdksh 及其派生词: $ typeset -p a set -A a typeset a[0]=1 typeset a[1]=2 …
14 bash  shell  zsh  ksh  yash 

2
Zsh中的256色提示
如何设置我的提示为256色?我在寻找与bash提示等效的方法: local DEFAULT="\[\033[0;39m\]" local ROOK="\[\033[38;5;24m\]" PS1="${ROOK}\$${DEFAULT} "
14 zsh  colors 

1
在Android Studio中更改Zsh主题
我最近跳到了船上,zsh正在使用“ 噢,我的Zsh”!主题blinks。在OSX终端中看起来非常不错,但在Android Studio终端中看起来非常糟糕。 所以我的问题是,有没有办法检查此会话是否已在Android Studio中打开,而不是在OSX Terminal中打开,并zsh据此更改主题?

2
在bash中工作的scp命令在zsh中不起作用
此命令在bash中可以正常工作: bash-3.2$ scp luna4:/u/paige/maye/src/diviner/notebooks/plots/hk_* . hk_az.png 100% 126KB 126.0KB/s 00:00 hk_baffle.png 100% 166KB 166.3KB/s 00:01 hk_bb.png 100% 144KB 143.8KB/s 00:00 hk_el.png 100% 115KB 115.3KB/s 00:00 hk_fpa.png 100% 123KB 123.2KB/s 00:00 hk_fpb.png 100% 126KB 125.7KB/s 00:00 hk_hybrid.png 100% 99KB 98.7KB/s 00:00 hk_oba.png 100% 140KB 139.7KB/s 00:00 hk_solar.png 100% 206KB 205.6KB/s 00:00 …
14 zsh  scp 

5
列出目录中的X个随机文件
有没有一种方法可以使用标准Linux命令从目录中列出一组30个随机文件?(在中zsh) 这里描述的最佳答案对我sort不起作用(无法识别该选项-R)
14 shell  files  zsh 

4
如何从zsh历史记录中删除最后一个命令(或当前命令以获得奖励)
当然,有一种超级简单的智能方法可以执行此操作,但是由于zshell中的历史记录似乎是fc的别名,因此无法使用如何从历史记录中删除单行中提到的技巧。。 关于如何执行此操作的任何指示?我的用例是从历史记录中删除最后一个发出的命令,以使其停止自动完成(通常是在您输错了某些内容并不断显示时)。 我知道我可以通过执行以下操作获得最后发出的命令 history | tail -n 1,但历史记录-d无效,并且我找不到有关zsh的适当文档。

2
在zsh中取消完成,但仅完成
当完成功能需要很长时间时,我可以通过按Ctrl+ C(终端中断键,发送SIGINT)或Ctrl+ G(绑定到send-break)来中断它。然后,我留下未完成的单词。 但是,如果我恰好在完成功能完成时按Ctrl+ C或Ctrl+ G,则按键可能会取消命令行并给我一个新的提示,而不是取消完成。 如何设置zsh,以便某个键将取消正在进行的完成,但是如果没有完成功能处于活动状态,则什么也不做?

5
带有glob模式的cp隐藏文件
情况: $ mkdir foo && touch foo/.test $ cp foo/* . zsh: no matches found: foo/* (or bash : cp: cannot stat ‘foo/*’: No such file or directory) 我的目录充满了隐藏的文件夹和文件。发生了什么,解决方案是什么?
13 zsh  wildcards  cp  dot-files 

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.