簡體   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