macos - 在 subshell 中使用 printf 时如何修复“找不到命令”?
问题描述
我在 Catalina 上并尝试printf
在子外壳中做一个简单的事情:
$(printf "%s" somestring)
但是,我收到以下错误
zsh:找不到命令:somestring”
这是为什么?什么原因?我如何解决它?
在一个真实的例子中,我将它分配为clang
标志:
clang -DName=$(printf "%s" somestring)`
解决方案
这就是它的$( )
作用——它捕获命令的输出(“somestring”),并将其用作主命令的一部分。因此,
clang -DName=$(printf "%s" somestring)
扩展为:
clang -DName=somestring
...这是一个有效的命令。但是当你只使用
$(printf "%s" somestring)
它扩展到:
somestring
...这不是一个有效的命令,所以你得到一个错误。
顺便说一句,我很确定这是一个重复的问题,但我找不到合适的匹配项。如果有人发现一个,请将其标记为骗子。
推荐阅读
- css - 我是量角器的新手。根据我的公司政策,我无法使用 xpath,我正在努力使用以下代码。我非常感谢您的回复
- python - 如何在处理 ctrl-C 事件时访问局部变量?
- javascript - 自动完成“偏移”可选参数不适用于自动完成
- php - Laravel 5.7 全局函数在每个控制器中处理 ajax
- neo4j - Neo4j - 具有关系权重的递归查询
- vuejs2 - 有没有办法干掉这些 Vue 属性?
- php - 如何使用 CK Finder 3 自动将图像保存在不同的文件夹中
- react-testing-library - 来自 getByLabelText 的打字稿 HTMLInputElement
- entity-framework-core - EF Core - 以编程方式创建数据库
- java - Spring JPA - “java.lang.IllegalArgumentException:投影类型必须是接口!” (使用本机查询)