【发布时间】:2013-06-07 19:18:22
【问题描述】:
我想将每一行放在引号内,例如:
abcdefg
hijklmn
opqrst
转换为:
"abcdefg"
"hijklmn"
"opqrst"
如何在 Bash shell 脚本中执行此操作?
【问题讨论】:
-
欢迎来到 Stack Overflow。请尽快阅读FAQ。你的问题还不错,但它是模棱两可的,或者可能只是有点不完整。这些行来自哪里——来自文件、变量数组或单个变量(或其他地方)中的行?输出需要去哪里?进入变量、数组、文件或其他地方?到目前为止的答案显示了各种可能性(并没有涵盖我提到的所有场景)。
-
另外,很多人似乎出于错误的原因想要这样做。如果您有一个程序要求其参数用引号括起来,例如
./tool "example sentence one" "example sentence two",则引号由 shell 使用,而不是数据本身的一部分。如果变量中有这些值,则变量不应包含引号,但您需要引用插值;./tool "$sentence1" "$sentence2"