首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Bash vs. Zsh,git grep可以在bash for循环中工作,但不能在zsh for循环中工作?

Bash和Zsh是两种常见的Unix/Linux操作系统的命令行解释器(shell)。它们都是用于执行命令、脚本和管理系统的工具。下面是对于Bash和Zsh以及git grep在两者中的差异的详细解释:

  1. Bash(Bourne Again SHell):
    • 概念:Bash是Unix/Linux系统中最常用的shell之一,也是许多脚本和系统管理任务的首选。它是Bourne shell的增强版本,提供了更多功能和命令。
    • 分类:Bash属于命令行解释器(shell)的一种。
    • 优势:Bash具有广泛的兼容性和稳定性,是大多数Unix/Linux系统默认的shell。它支持丰富的命令和语法,易于学习和使用。
    • 应用场景:Bash适用于各种系统管理任务、脚本编写和命令行操作。
    • 推荐的腾讯云相关产品:腾讯云服务器(CVM)提供了丰富的Linux发行版,可以选择安装Bash作为默认shell。链接:https://cloud.tencent.com/product/cvm
  • Zsh(Z Shell):
    • 概念:Zsh是一个功能强大的shell,它在Bash的基础上提供了更多的功能和改进。它是一种交互式的shell,具有高度可定制性和扩展性。
    • 分类:Zsh也属于命令行解释器(shell)的一种。
    • 优势:Zsh具有更强大的自动补全功能、更友好的用户界面和更高级的配置选项。它支持更多的插件和主题,可以根据个人喜好进行定制。
    • 应用场景:Zsh适用于需要更高级功能和个性化定制的用户,特别是开发人员和系统管理员。
    • 推荐的腾讯云相关产品:腾讯云容器服务TKE支持在容器中使用Zsh作为默认shell。链接:https://cloud.tencent.com/product/tke
  • git grep在bash和zsh中的差异:
    • git grep是用于在Git代码库中搜索文本模式的命令。在大多数情况下,git grep可以在bash和zsh中正常工作,因为它是作为Git命令的一部分运行的,而不是由shell解释执行的。
    • 但是,如果在zsh的for循环中使用git grep时遇到问题,可能是因为zsh的默认行为不同于bash。在zsh中,默认情况下,for循环会将通配符(如*)扩展为匹配的文件列表,而不是将其作为字面值处理。这可能导致git grep无法按预期工作。
    • 解决方法是在zsh的for循环中使用noglob选项,以禁用通配符扩展,例如:
    • 解决方法是在zsh的for循环中使用noglob选项,以禁用通配符扩展,例如:
    • 这样可以确保git grep在zsh的for循环中正常工作。

请注意,以上答案仅供参考,具体的技术选择和配置可能因个人需求和偏好而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

oh-my-zsh,最好用的shell

$ cat /etc/shells | grep zsh /bin/zsh Bash 切换shell为zsh $ chsh -s /bin/zsh Changing shell for root....接下来只需简单的配置,就可以享受 oh-my-zsh 的强大 主题选择 oh-my-zsh有很多漂亮的主题:  主题列表 中选择自己心宜的主题,安装很简单,打开配置文件 ~/.zhsrc ,将 ZSH_THEME...,都需要再次加载配置文件才能生效 插件 oh-my-zsh默认安装了git插件,git仓库中,会提示当前所在的分支。... 插件就能解决此问题 现在不管是 zip, tar.bz2, gz 等格式的压缩文件,都只需要执行 extract 文件名 即可 z z 插件可以能在历史的cd命令中智能地选择指令,如,我们终端执行过...Bash 配置文件中中添加插件名称 综上,配置文件plugins的内容如下: plugins=( git extract z zsh-autosuggestions ) Bash 重新载入配置文件

55030

终极 Shell-MacTalk-池建强的随想录Customize to your needs…

显示如下: /bin/bash/bin/csh/bin/ksh/bin/sh/bin/tcsh/bin/zsh Linux 里执行这个命令和 Mac 略有不同,你会发现 Mac 多了一个 zsh...安装oh my zsh 首先安装 git,安装方式同上,把 zsh 换成 git 即可。 安装「oh my zsh可以自动安装也可以手动安装。...插件 oh my zsh 项目提供了完善的插件体系,相关的文件~/.oh-my-zsh/plugins目录下,默认提供了100多种,大家可以根据自己的实际学习和工作环境采用,想了解每个插件的功能,只要打开相关目录下的...插件也是.zshrc里配置,找到plugins关键字,你就可以加载自己的插件了,系统默认加载 git ,你可以在后面追加内容,如下: plugins=(git textmate ruby autojump...2、强大的历史纪录功能,输入 grep 然后用上下箭头可以翻阅你执行的所有 grep 命令。

1.8K80
  • 使用 ohmyzsh 打造 windows、ubuntu、mac 系统高效终端命令行工具

    原标题名:oh my zsh 和 windows git bash 设置别名提高效率 写于2018年06月03日 我的微信交流群中听闻很多前端开发比较贫穷,没有买mac电脑(比如我),也没有用过ohmyzsh...最终终端效果 那不是win10,也想通过设置别名来提高效率,是不是就没有办法了呢,可以使用git bash设置alias,安装git,自带git bash。...还可以把一些工作目录封装,我的一些项目是放在/f/git-source/github文件下。...还有很多插件,比如npm点击查看, node 等,都可以研究下。 git bash,有没有类似oh my zsh的插件呢,我暂时没发现,如果您知道,欢迎告诉我。目录相关的操作,也可以设置一些别名。...更多别名可以自定义~windows上命令行工具还可以使用cmder点击查看cmder官网命令行工具。虽然我几年前就安装了,但发现还是git bash用的顺畅些,可能是我还不太习惯cmder。

    5.3K20

    实用的 bash 自定义脚本,快速提效工作流程

    bash 对于我们的便利体现的许许多多的微小的方面,用的好在工作效率的提升上可以说是“积小流而成江海”。 而学习 bash 的价值在哪里呢?..." alias glol="git log --oneline" alias gdif="git diff HEAD^ HEAD" 简简单单几个字符就可以Git 项目命令行中查看、提交、对比等。...工作流系列 工作中经常打开的应用、切换的目录,完全可以写成别名节省时间。...*netmask' | grep -oE '(\d+\.){3}\d+' | sed -n 2p" 还可以 vscode 中安装 'code' 命令。...另外,欢迎大家戳语雀地址:www.yuque.com/sulirc/whal… 更新,发现公司很多同事推荐使用 iTerm2 + zsh + oh-my-zsh 的组合,大家也可以自己尝试去搭建一下

    80010

    实用的 bash 自定义脚本,快速提效工作流程

    bash 对于我们的便利体现的许许多多的微小的方面,用的好在工作效率的提升上可以说是“积小流而成江海”。 而学习 bash 的价值在哪里呢?..." alias glol="git log --oneline" alias gdif="git diff HEAD^ HEAD" 简简单单几个字符就可以Git 项目命令行中查看、提交、对比等。...工作流系列 工作中经常打开的应用、切换的目录,完全可以写成别名节省时间。...*netmask' | grep -oE '(\d+\.){3}\d+' | sed -n 2p" 还可以 vscode 中安装 'code' 命令。...另外,欢迎大家戳语雀地址:www.yuque.com/sulirc/whal… 更新,发现公司很多同事推荐使用 iTerm2 + zsh + oh-my-zsh 的组合,大家也可以自己尝试去搭建一下。

    61621

    Shell 进阶指南

    - 基于终端的 bash 命令搜索引擎 byobu - 基于文本的窗口管理器及终端多路复用器 commacd - Bash 中更快速的移动方式 desk - 适用于 shell 的轻量级工作区管理器...alias marker - 将你的 shell 命令加到书签 parallel - 以并行化方式从标准输入构造并执行 shell 命令行 pathpicker - 允许将 grep、搜索、git 等的输出结果作为输入...命令行客户端 oh-my-git - 针对 BashZsh 的自用 Git 提示符 sexy-bash-prompt - 包含颜色、Git 状态及 Git 分支的 Bash 提示符 针对开发者...git-sh - 适合 Git 工作的定制 Bash 环境 git-up - 自动变基进来的更改代替合并,优雅!...http-server - http-server可以启动一个轻量级的http服务 ngincat - 使用 netcat 的微型 Bash HTTP 服务器 resty - 你可以管道中使用的小型命令行

    2.7K71

    Linux基础命令行使用技巧

    [[email protected] ~]# echo $RANDOM 8857 ---- 命令行参数补齐 描述:针对于Bash以及Zsh命令行参数补齐我们可以分别采用以下扩展bash-completion...[2020年5月5日 23:36:55] #下载 git clone git://github.com/zsh-users/zsh-autosuggestions ~/.zsh/plugins/zsh-autosuggestions...Linux中的Shell终端里我们也可以将前面的命令进行复用,下面我们将先从设置历史变量以及如何查看、搜索、以及前后移动历史说起; 设置历史记录 描述:无论是 bash 还是 zsh,都能够将我们已经执行过的命令存储到一个文件中...与 zsh 都提供了 Emacs 和 vi 两种编辑模式,我们可以利用下面的命令两种编辑模式下进行选择; bash 方式: 123#临时生效~ set -o vi~ set -o emacs zsh...grep 命令后直接将文件名传递给文本编辑器 (如 nvim): vim `grep -l error *.py` vim $(grep -l error *.py) #嵌套时,$() 看起来一目了然

    5.8K63

    Linux基础命令行使用技巧

    [root@weiyigeek ~]# echo $RANDOM 8857 ---- 命令行参数补齐 描述:针对于Bash以及Zsh命令行参数补齐我们可以分别采用以下扩展bash-completion...[2020年5月5日 23:36:55] #下载 git clone git://github.com/zsh-users/zsh-autosuggestions ~/.zsh/plugins/zsh-autosuggestions...Linux中的Shell终端里我们也可以将前面的命令进行复用,下面我们将先从设置历史变量以及如何查看、搜索、以及前后移动历史说起; 设置历史记录 描述:无论是 bash 还是 zsh,都能够将我们已经执行过的命令存储到一个文件中...与 zsh 都提供了 Emacs 和 vi 两种编辑模式,我们可以利用下面的命令两种编辑模式下进行选择; bash 方式: #临时生效 ~$ set -o vi ~$ set -o emacs zsh...grep 命令后直接将文件名传递给文本编辑器 (如 nvim): vim `grep -l error *.py` vim $(grep -l error *.py) #嵌套时,$() 看起来一目了然

    6K20

    Awesome-Shell资源

    作为后端) commacd - Bash 中更快速的移动方式 desk - 适用于 shell 的轻量级工作区管理器 direnv - 针对 shell 的环境切换工具(利用 autoenv...(OS X/Linux) parallel - 以并行化方式从标准输入构造并执行 shell 命令行 pathpicker - 允许将 grep、搜索、git 等的输出结果作为输入,并提供友好的选择界面...mysql-colorize - 彩色的 MySQL 命令行客户端 oh-my-git - 针对 BashZsh 的自用 Git 提示符 sexy-bash-prompt - 包含颜色、...Git 插件 git-sh - 适合 Git 工作的定制 Bash 环境 git-up - 自动变基进来的更改代替合并,优雅!...http-server - http-server可以启动一个轻量级的http服务 ngincat - 使用 netcat 的微型 Bash HTTP 服务器 resty - 你可以管道中使用的小型命令行

    1.9K00

    优雅地乱玩 Linux-2-zsh

    安装 oh my zsh 似乎只能在 zsh 里面安装, 所以先保证切换 shell 到 zsh 再执行下面的语句: sh -c "$(curl -fsSL https://raw.github.com...即可打开配置, 然后设置, 就可以使用 oh-my-zsh 下面 theme 文件夹里面的主题了 ZSH_THEME=robbyrussell 别名设置 就是给累赘的命令行增加个别名, 配置文件末端进行设置即可...'clear' alias show='nautilus' 取消第一行注释之后就可以通过 zshconfig 快速打开配置文件了 插件设置 oh my zsh 项目提供了完善的插件体系, 相关的文件...~/.oh-my-zsh/plugins 目录下, 默认提供了 100 多种, 大家可以根据自己的实际学习和工作环境采用, 想了解每个插件的功能, 只要打开相关目录下的 zsh 文件看一下就知道了....插件也是.zshrc 里配置, 找到 plugins 关键字, 你就可以加载自己的插件了, 系统默认加载 git , 你可以在后面追加内容, 如下: plugins=(git textmate ruby

    62630

    iTerm2 冷启动提速

    TL;DR: Final Round —— git 效果最明显的改动:将系统自带的 Apple Git 替换为 Homebrew[1] 中的 Git: # 系统自带 Git 版本 $ git --version...git version 2.24.3 (Apple Git-128) # 使用 Homebrew 安装 git $ brew install git $ git --version git version...系统使用的默认 shell 是 zsh[4]。zsh 中有一个性能监控模块 22.35 The zsh/zprof Module[5],可以输出所有函数的调用时间。...time 和 self 分别有三列)降序排序,单位是毫秒 详情:列出了每个被调用的函数的详细信息 可以看到,耗时排名前几位的:nvm、conda、oh my zsh。...参考资料: 一打开终端就默认进入conda的base环境,取消方法[10] Round 3:oh my zsh 一直以为 iTerm2 使用了 oh my zsh 之后冷启动慢是因为启动的时候会去进行

    24810

    Zsh使用指南(转)

    清除历史 你可能熟悉使用+R 命令来寻找你使用过的命令.BashZsh中这是非常方便的方法. Zsh有一个更好的方法.你可以输入一部分命令然后按 键. ?...分享命令历史 每个shell里Bash都有它自己的输入历史.但是Zsh里它所有活动shell里都会有一个共同的历史.所以你就不用不得不记住你在哪里输入这个命令了....它会列出选项和说明.你也可以用方向键进行选择. 它步进在ls 命令中,他可以.它可以工作像netstat ,git ,chmod 等大量的命令中....Git辅助 每个人都有自己喜欢的git 命令的别名.oh-my-zsh给出了一大堆默认别名. ? 当你进入一个git目录的时候它也会有提示. ?...Vim里编辑长命令 你可以BashZsh里用+k 长命令里来删除字符(我这里怎么是+h ?).但是有时候你想用功能更强大的编辑器来写长命令.

    2.7K20

    Linux常用命令09 - sed

    处理文本文件时,通常需要在一个或多个文件中查找和替换文本字符串。 sed 是一个流编辑器。 它可以对文件和输入流(如管道)执行基本的文本操作。...例如,用/usr/bin/zsh 替换/bin/bash sed -i '' 's/\/bin\/bash/\/usr\/bin\/zsh/g' file.txt 更简单和更易读的选项是使用另一个分隔符字符...,但你可以使用任何其他字符: sed -i 's|/bin/bash|/usr/bin/zsh|g' file.txt 123 Foo foo foo foo /usr/bin/zsh Ubuntu...这可以通过使用 find 或 grep 等命令递归地查找目录中的文件并将文件名管道化为 sed 来实现。 下面的命令将递归搜索当前工作目录文件夹中的文件,并将文件名传递给 sed。 find ....sed: grep -rlZ 'foo' . | xargs -0 sed -i.bak 's/foo/bar/g' 小结 虽然它看起来复杂和复杂,但实际上,用 sed 文件中搜索和替换文本非常简单

    2.1K30

    Mac全栈开发-Shell以及终端软件

    全栈开发在Mac下面会经常使用终端,OS X El Capitan‎之前,恐怕系统默认的Terminal+bash+screen是无法跟iTerms+zsh+tmux进行匹敌。...⌘ + t :新的标签页 ⌘ + r:清屏 兼容性好 这一点远程连接服务器的时候才可以体验到,默认的系统终端有时候会出现乱码问题。 oh-my-zsh 什么是oh-my-zsh ?...: /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh Mac默认使用的是bash这个shell,英文26个字母当中z排在最后,这足以说明zsh...是有多强大的(当然了这是我瞎掰的),不过zsh说是终极Shell应该是一点都不过分的,列举几个优势让你看看有多强大 下面优势摘自MacTalk: 强大的历史纪录功能,输入 grep 然后用上下箭头可以翻阅你执行的所有...grep 命令 智能拼写纠正,输入gtep mactalk * -R,系统会提示:zsh: correct ‘gtep’ to ‘grep’ [nyae]?

    1.4K20

    学会这些 shell 小技巧,我就爱上 Linux 了

    * chmod +x script1.sh script2.sh script3.sh 可以环境变量CDPATH中加入你常用的工作目录,当cd命令在当前目录中找不到你指定的文件/目录时,会自动到CDPATH...git 但是这个方法有缺点:首先,该功能似乎只有 bash 支持,我用的 zsh 作为 shell 终端,就用不了;第二,只能查找出一个(最近的)命令,如果我想找以前的某个命令,就没办法了。...7434 git config --global --unset https.proxy # 运行完成 我觉得history加管道加grep这样打的字还是太多,可以在你的 shell 配置文件中(.bashrc...我一般不使用 bash 作为终端,我给大家推荐一款很好用的 shell 终端叫做 zsh,这也是我自己使用的 shell。这款终端还可以扩展各种插件,非常好用,具体配置方法可自行搜索。...这个功能可能在平时使用时也不怎么用,但是写 shell 脚本时也非常有用,比如说你要在/tmp创建临时文件,给文件起名字一直都是非常让人费脑子的,这时候可以使用$$变量扩展出当前进程的 PID 作为临时文件名

    47130

    如何配置一个高效、漂亮、爱不释手的终端?

    zsh Linux 环境下的 shell 终端有 bash,ksh,tcsh,zsh,fish 等。...使用人数排第一的自然是 bash,因为大部分的 Linux 发行版默认的就是 bash,使用人数排第二的就是 zsh。为什么用 zsh 呢?...因为相比于默认的 bashzsh 有更多的自定义选项,并支持扩展。因此 zsh 可以实现更强大的命令补全,命令高亮等一系列酷炫功能。 oh-my-zsh 默认的 zsh 配置有点麻烦。...~/.oh-my-zsh/plugins/git/git.plugin.zsh z 插件 z 插件是 autojump 插件 oh-my-zsh 内置的类似组件,基本包含所有功能。...cd 访问过的目录,它都会记录下来,然后下次可以在任何工作目录下使用只需要用 z + 目录名 就可以直接进入。

    1.2K10

    AI开发软件环境

    AI开发软件环境介绍 关于软件方面: 1.ubuntu操作系统的安装 2.抛弃bash,拥抱zsh 3.软件包管理器的使用, 4.安装NVIDIA GPU驱动 5.软件安装:Anaconda 6.软件安装...Learn Unix:https://www.tutorialspoint.com/unix 抛弃bash, 拥抱zsh shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务...用户无需在窗口中频繁点击,即可完成安装工作。...Aanaconda的图标,得到上面的界面,然后点开Jupyter Lab 可以终端直接输入jupyter lab 即可直接打开 服务器使用 step1: 通过IP/use_id/port连接集群...step7: 启动jupyter lab并挂载到服务器的后台并查看其结果输出,查看后可以找到IP。然后把localhost替换为服务器IP,自己笔记本浏览器打开即可。

    23810
    领券