gpt4 book ai didi

bash - 引号中的波浪号扩展

转载 作者:行者123 更新时间:2023-11-29 09:08:17 26 4
gpt4 key购买 nike

我写了一个脚本,它必须在用户定义的目录中找到一些文件,其中可能包含波浪号(因此,可能有 user_defined_directory='~/foo')。结构看起来像

found_files=$(find "$user_defined_directory" -type f … )

我使用引号来覆盖该路径中可能的空格,但根据手册页,波浪号扩展在引号中不起作用。我知道 : 运算符可能可以进行这种扩展,但我不知道如何在这里使用它。

‘user-defined-directory’取自用户 $HOME 目录中的另一个配置文件。它没有作为参数传递给我的脚本,而是从我编写的脚本中的另一个配置中解析出来的。

最佳答案

您可以使用 "${user_defined_directory/#~/$HOME}" 将字符串开头的“~”替换为当前用户的主目录。请注意,这不会处理 ~username/subdir 格式,只会处理普通的 ~。如果您需要处理更复杂的版本,则需要编写更复杂的转换器。

关于bash - 引号中的波浪号扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15858766/

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