gpt4 book ai didi

string - 如何将具有新行的字符串参数传递给 bash 文件,然后将完整的字符串传递给文件?

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

我有一个字符串如下:

variable="[name]\nabc\n[ip]\n10.12.02\n[name2]\nxyz\n[ip2]\n2.3.536"
"some_bash.sh", :arg=>variable

在 some_bash.sh 中,我将参数放入文件中,如下所示:

echo "$1" >> /etc/some_file

在我得到的文件中:

[name]

我也收到 10.12.02 错误:找不到命令 name2:找不到命令 xyz:找不到命令 ip2: 找不到命令

但我想要如下内容:

[name]
abc
[ip]
10.12.02
[name2]
xyz
[ip2]
2.3.536

那么请告诉我我该怎么做并在文件中获得上述结果?

最佳答案

推荐使用 printf 而不是 echoecho -e 因为它更便携。

虽然 POSIX 描述了 echo 的行为,但实际上它并没有达到应有的可移植性。 echo 的 POSIX 文档甚至建议“鼓励新应用程序使用 printf 而不是 echo。

sampleScript.sh 中使用 printf 扩展字符串,启用转义序列的解释(\n\t 等。)。

#!/bin/bash
printf "$1\n" >> /etc/some_file

并将你的脚本传递给它

./sampleScript.sh "[name]\nabc\n[ip]\n10.12.02\n[name2]\nxyz\n[ip2]\n2.3.536"

关于string - 如何将具有新行的字符串参数传递给 bash 文件,然后将完整的字符串传递给文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41852030/

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