【问题标题】:shell script printf meaningshell脚本printf含义
【发布时间】:2013-10-22 09:46:06
【问题描述】:

在 for 循环中 (i) 我必须测试:

if [[ "${PARAMETER[$i]}" =~ $(printf "|^%s\$" "${COMMANDS[@]" | cut -c 2-)]]; then....

我的疑问在于 printf 部分。 抱歉,如果没有很好地解释。

【问题讨论】:

  • printf 部分与命令执行和管道一起生成一个格式化字符串,该字符串由数组 COMMANDS 的内容组成,该字符串与数组 PARAMETERS 中的项目进行比较。在 shell 中单独运行 printf 部分以查看它的作用。你对哪一部分有疑问?
  • 感谢您的帮助。问题解决了

标签: bash shell printf


【解决方案1】:

POSIX printf 函数的工作方式几乎与它的 C 对应物一样。在这里,%s 被替换为 "${COMMANDS[@]" 扩展为的任何内容。结果有一个 |^ 前缀和一个 $ 附加。

如果"${COMMANDS[@]" 扩展为多个标记,则结果是所有此类字符串的串联。

注意:您是否忘记了]] 之前的空白?

【讨论】:

    猜你喜欢
    • 2010-09-21
    • 2017-08-11
    • 1970-01-01
    • 2022-09-30
    • 1970-01-01
    • 2012-09-09
    • 2011-11-07
    • 2016-07-12
    • 2014-07-21
    相关资源
    最近更新 更多