繁体   English   中英

在命令替换 bash 脚本中查找命令

[英]Find command in Command substitution bash script

希望你一切顺利。 我是 bash 脚本的新手,所以我想问你一个问题,关于我最近在玩 find 命令时偶然发现的东西。 我注意到的是,当我使用 bash 脚本中的命令替换使用 find 命令搜索脚本名称,并从命令替换中调用变量时,它会找到脚本完整路径并在之后执行它。 你能告诉我这是为什么以及如何工作的吗? 例如

SEARCH=$(find / -type f -iname "script.name" 2> /dev/null)
$SEARCH

问候

Bash 在构建和执行命令之前执行扩展。 例如,如果您执行cd "$HOME" ,您可能希望 go 到存储在变量 HOME 中的目录,而不是字面上名为 $HOME 的目录。 这允许您将命令名称放入变量中并通过将变量扩展为第一个单词来运行它,尽管这不是真正推荐的,因为除了最简单的命令之外,管理任何东西都变得非常复杂。 例如,如果find返回多个结果,您问题中的代码可能无法按预期工作。

请参阅BashFAQ上的 BashParser。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM