gpt4 book ai didi

linux - Bash 参数扩展

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:55 25 4
gpt4 key购买 nike

我正在尝试使用用户输入编写 bash 脚本。脚本获取用户输入并使用来自输入的数据构建查找命令(如果它们不为空则使用参数)。我正在从 here 阅读有关 bash 扩展的信息我做了类似的事情:

 eval find $USERPATH "${USERNAME:+'-name' \"\$USERNAME\"}" "${USERSIZE:+'-size' \"\$USERSIZE\"}" "${USERDATA:+'-mmin' \"\$USERDATA\"}"

它很好用,但我想按内容搜索,所以我需要添加

-exec fgrep -l $USERCONTENT {} \;;

但我不能。我正在尝试这样的事情

 "${USERCONTENT:+'-exec fgrep -l' \"\$USERCONTENT {}\;;'\"}"

但它不起作用。我不知道如何以好的方式做到这一点。

最佳答案

将参数收集到数组中要简单得多。

find_args=( "$USERPATH" )
[[ -n "$USERNAME" ]] && find_args+=(-name "$USERNAME")
[[ -n "$USERSIZE" ]] && find_args+=(-size "$USERSIZE")
[[ -n "$USERDATA" ]] && find_args+=(-mmin "$USERDATA")
[[ -n "$USERCONTENT" ]] && find_args+=(-exec fgrep -l "$USERCONTENT" {} \;)
find "${find_args[@]}"

关于linux - Bash 参数扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43144646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com