【问题标题】:How to make separate strings of a variant in shell script如何在shell脚本中制作单独的变体字符串
【发布时间】:2012-02-26 09:29:20
【问题描述】:
#! /bin/sh

VAR=(fdf fef fef)

for i in ${VAR}; do
        echo i;
done

上面的代码有错误。我想让 shell 把 VAR 作为一个单独的字符串数组,并得到这样的输出:

fdf
fef
fef

如何实现?谢谢!

【问题讨论】:

  • sh 没有数组。请将您的解释器更改为支持数组的 shell。将 #!/bin/sh 用于使用不可移植结构的脚本是万恶之源。

标签: linux shell


【解决方案1】:

试试这个:

VAR=(aa bb cc)

for i in "${VAR[@]}"
do
        echo $i;
done

this article 中的更多信息。

【讨论】:

  • 谢谢,它有效!但还有一个问题,我怎么可以用 $ 来使用它。 test.sh 但在 $./test.sh 中失败,后面的输出是错误...
  • zhf@zhf-desktop:~/test$ 。 ar_test.sh aa bb cc zhf@zhf-desktop:~/test$ ./ar_test.sh ./ar_test.sh: 9: 语法错误:"(" 意外
  • @YifanZhang 我不明白这个问题。编辑您的问题并添加产生该错误的脚本。
【解决方案2】:

建议的解决方案仅在使用 bash 时有效。他还必须更改或删除了shebang,否则您将得到:语法错误:意外的“(”。

另请参阅他的后续问题:How come using ./shell.sh get error but . shell.sh works

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 2022-11-18
    • 2012-12-21
    • 1970-01-01
    相关资源
    最近更新 更多