标签: zsh

Sed 对我给它的文件路径感到非常困惑

我试图将带有 sed 替换的文件传递给 sed,它忽略了我给它的部分路径:

首先,让我们从一个简单的断言开始:

 test -f workdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/templates.sed && echo "exists"
exists
Run Code Online (Sandbox Code Playgroud)

是的,文件存在。现在,问题是:

sed -E -n -f  /Users/cbongior/dev/omc/workdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/templates.sed /Users/cbongior/dev/omc/workdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/data.psv  
sed: orkdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/templates.sed: No such file or directory
Run Code Online (Sandbox Code Playgroud)

它会丢弃oin之前的所有内容workdir

我尝试过一个新的外壳,没有扩展

env -i /opt/brew/bin/bash
bash-5.2$ sed -n -E -f "/Users/cbongior/dev/omc/workdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/templates.sed"  "/Users/cbongior/dev/omc/workdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/data.psv"                                                                                                                                                                                                                                                                
sed: orkdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/templates.sed: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我尝试过旧版本的 bash:

 test -f workdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/templates.sed && echo "exists"
exists
Run Code Online (Sandbox Code Playgroud)

我已经尝试过zsh

sed -E -n -f  /Users/cbongior/dev/omc/workdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/templates.sed /Users/cbongior/dev/omc/workdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/data.psv  
sed: orkdir/2023-08-03/2023-07-21-01-30-19_2023-07-31-23-59-58/templates.sed: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我也尝试过gsed

env -i /opt/brew/bin/bash
bash-5.2$ sed …
Run Code Online (Sandbox Code Playgroud)

bash shell zsh sed

0
推荐指数
1
解决办法
63
查看次数

如何忽略 ctags 的这个 .build 文件夹?

我有 Exuberant Ctags 5.8,我试图忽略 .build 目录:packages/ANY/.build。我还通过 oh-my-zsh 插件使用 ZSH。

我尝试过使用--exclude=packages/*/.build/,但我只得到一个
zsh: no matches found: --exclude=packages/*/.build/

我使用的完整命令是:
ctags -R --exclude=node_modules --exclude=.meteor --exclude=packages/*/.build/

如果我有相同的模式,ls packages/*/.build/那么我会得到每个 .build 目录内容的列表。

这是 ctags 的限制吗?

zsh ctags exuberant-ctags

-1
推荐指数
1
解决办法
2853
查看次数

关于python“#!usr/bin/env python”?

我把“ #!usr/bin/env python”放在coroutine.py的第一行,但是当我尝试通过“ ./test.py”直接运行coroutine.py时,我得到了这个:

zsh: ./coroutine.py: bad interpreter: usr/bin/env: no such file or directory

我的 zshrc 有什么问题吗?

python linux zsh shebang

-1
推荐指数
1
解决办法
701
查看次数

ZSH会在C程序的结果后自动打印'%'

这是一个简单的C程序:

这是一个简单的C程序

这是该程序的结果-请注意%最后。

这是C程序的结果,但是最后是'%'。

c vim zsh

-1
推荐指数
1
解决办法
117
查看次数

为什么 `python -c 'print('howdy')'` 会产生错误(在 zsh 中),而 `python -c 'print("howdy")'` 不会?

在 中zsh,当我python -c 'print('howdy')'从命令行执行时,它会产生以下错误。

Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'howdy' is not defined
Run Code Online (Sandbox Code Playgroud)

但是,这python -c 'print("howdy")'不会,而是产生我期望的输出,即howdy(作为字符串)发送到stdout?

我认为 python 在单引号或双引号上是不可知的

zsh double-quotes single-quotes

-1
推荐指数
1
解决办法
45
查看次数

Terraform:MacOS:zsh: 执行格式错误:terraform

我第一次安装brew install terraform并且运行良好但后来我尝试安装特定版本,如下所示

wget -P terraform_bin/ https://releases.hashicorp.com/terraform/0.12.0/terraform_0.12.0_linux_amd64.zip
unzip -o terraform_bin/terraform_0.12.0_linux_amd64.zip -d terraform_bin/
mv terraform_bin/terraform /usr/local/bin
rm -rf terraform_bin
terraform version
Run Code Online (Sandbox Code Playgroud)

但现在它在 MacOS 中的安装变得混乱,当尝试运行版本时它失败了

在此输入图像描述

macos zsh oh-my-zsh terraform

-1
推荐指数
1
解决办法
1万
查看次数

使用 JQ 处理损坏的 JSON:可能的错误?

我发现 JSON 似乎无法在索引一次后删除数组。下面是有效的 JSON(根据 jsonlint.com

目标:从外部的 {was a valid JSON} 中删除外部数组。

重现步骤

  1. 验证 JSON 是否有效
  2. 跑步cat file.json | jq .rows
  3. 观察工作正常
  4. 尝试cat file.json | jq .rows[]

观察我的以下错误

zsh: no matches found: .rows[]

我也尝试过 cat file.json | jq .rows | jq .[]

为了更好地衡量,这里是失败的确切文本,但我认为 JQ 应该根据JQ - 如何定义过滤器从输出数组中删除括号、引号和逗号进行这样的处理

{
"selfLink": null,
"id": "eyJwIjoiOGMxZjRkNjAtZDhmNS00YmU2LTg1YjMtYTA0NDExNDVkYmMwIiwicFYiOjE0fQ==",
"title": "My Daily Discovery",
"rows": [{
    "modules": [{
        "id": "eyJwIjoiOGMxZjRkNjAtZDhmNS00YmU2LTg1YjMtYTA0NDExNDVkYmMwIiwicFYiOjE0LCJtIjoiMTg3ZGVhMTMtNWI1ZS00OWYwLWI5YjktYjc5ODk3M2M2MjVmIiwibVYiOjEsIm1IIjoiYmMyMTQ4NDkifQ==",
        "type": "MIX_HEADER",
        "width": 100,
        "title": "",
        "description": "",
        "preTitle": "",
        "mix": {
            "id": "016574ac3abf29b2a6a1ae2c1b2f34",
            "title": "My …
Run Code Online (Sandbox Code Playgroud)

zsh escaping quoting jq

-1
推荐指数
1
解决办法
415
查看次数

在 Mac 上,bash 脚本显示关联数组(字典)的不确定行为

首先(mac 使用它%来作为我~$在终端中的广告输入,因此我将使用 mac 约定来指示已启动的命令:

~% echo $SHELL
/bin/zsh
~% zsh --version
zsh 5.9 (x86_64-apple-darwin22.0)
Run Code Online (Sandbox Code Playgroud)

test.sh(vim 样式的行号以方便阅读):

    1 #!/bin/bash
    2 # 
    3 declare -A myvector
    4 echo "wut?"
Run Code Online (Sandbox Code Playgroud)

我假设 zsh (我不知道如何使用)运行 bash (我生来就有它:_),但是

~% chmod u+x ./test.sh
~% ./test.sh
./test.sh: line 3: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
wut?
Run Code Online (Sandbox Code Playgroud)

然后执行:

~% . ./test.sh
wut?
Run Code Online (Sandbox Code Playgroud)

我假设 . zsh 是否启动脚本但没有 bash。

我在 unix.stackoverflow.com 和 Ask Different.stackoverflow.com 的 stackoverflow 中检查了有关如何在zshbash中使用声明、 …

unix macos bash zsh vector

-1
推荐指数
1
解决办法
64
查看次数

在 mac 上添加 flutter 路径的最佳方法是什么?

如何在mac zsh上全局添加Flutter路径,无需在终端的每个窗口中添加

macos zsh flutter

-2
推荐指数
1
解决办法
3555
查看次数

终端在启动时崩溃。如何恢复?

启动 iterm 和终端时出现此错误:

dyld: Library not loaded: /usr/local/lib/libgdbm.4.dylib  
  Referenced from: /usr/local/bin/zsh  
  Reason: image not found  
Run Code Online (Sandbox Code Playgroud)

据我所知,我无法在终端窗口中输入任何命令。

我发现这个帖子有人遇到同样的错误,建议重新安装 zsh:

在 mac 终端中加载库时出错

这可能对我有用。但是我可以在哪里执行呢?

另一种选择可能是是否可以切换回 bash。

zsh dyld

-3
推荐指数
1
解决办法
1732
查看次数