【问题标题】:"for option" in bash and echo in bashbash 中的“for option”和 bash 中的 echo
【发布时间】:2013-11-20 06:02:42
【问题描述】:

我有两个问题:

1.当我阅读一些bash脚本时,我找到了一种方法来迭代传递给当前脚本的所有选项:

供选择 做 回声$选项 完毕

但是,我对 bash 中的“选项”知之甚少。谁能给我一些参考?谢谢。

2.和上面一样,当我将“-e”或“-n”选项传递给我的脚本时,“echo”无法将它们打印为字符串,因为“echo”将它们视为选项!如何让“echo”打印“-e”和“-n”作为内容字符串?

【问题讨论】:

标签: linux bash shell echo option


【解决方案1】:
  1. option 只是一个任意变量名。 for 命令将在迭代时将其分配给每个参数。

  2. 使用printf代替echo


for arg
do
    printf "%s" "$arg"
done

【讨论】:

    【解决方案2】:

    要回答问题的第二部分,一般的解决方案是使用printf 而不是echo。见How do I echo "-e"?

    【讨论】:

      【解决方案3】:

      1 option 是一个变量。你可以叫它i

      for i
      do
        echo "$i"
      done
      

      2 echo你可以使用

      echo "-e -n hi"
      -e -n hi
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-22
        • 1970-01-01
        • 1970-01-01
        • 2016-12-15
        • 1970-01-01
        • 2019-01-16
        • 2013-03-24
        相关资源
        最近更新 更多