让我说我的文件中有很多这样的条目:
first_db:
<<: *default
database: first_db
second_db:
<<: *default
database: second_db
在bash脚本中使用牢固设置的格式将新条目附加到此文件的优雅方式是什么:
{var1}:
<<: *default
database: {var1}
我将直接从命令行执行脚本 - 而不是.sh文件。
答案 0 :(得分:0)
我不知道是否正确理解,但是您可以使用heredoc从命令行添加:
$ var1=foo
$ cat >> yourfile<<EOF
heredoc> ${var1}
heredoc> <<:*default
heredoc> database: ${var1}
heredoc> EOF
就一致性而言,我会说@RomanPerekhrest答案是最好的:
$ printf "%s:\n <<: *default\n database: %s\n" "$var1" "$var1" >> inputfile
答案 1 :(得分:0)
直接从命令行执行脚本 - 而不是.sh文件。
作为使用 printf
功能附加一个新条目的示例:
var1="third_db"
printf "%s:\n <<: *default\n database: %s\n" "$var1" "$var1" >> inputfile
追加新条目后的示例inputfile
内容:
first_db:
<<: *default
database: first_db
second_db:
<<: *default
database: second_db
third_db:
<<: *default
database: third_db
答案 2 :(得分:0)
请您试着跟随并告诉我这是否对您有帮助。
解决方案1: 使用EOT cat添加Input_file。
cat <<EOT >> Input_file
{var1}:
<<: *default
database: {var1}
EOT
OR(以下解决方案,如果要将var1用作要插入Input_file的值的变量)
var1="foo";cat <<EOT >> Input_file
${var1}:
<<: *default
database: ${var1}
EOT
解决方案第二: 使用简单的echo命令。
echo "{var1}:
<<: *default
database: {var1}" >> Input_file
OR(以下解决方案,如果要将var1用作要插入Input_file的值的变量)
var1="foo";echo "${var1}:
<<: *default
database: ${var1}" >> Input_file