什么是设置特定的模式格式的最佳方式和不断变化的只是数据
问题描述:
比方说,我在我的文件中有许多条目是这样的:什么是设置特定的模式格式的最佳方式和不断变化的只是数据
first_db:
<<: *default
database: first_db
second_db:
<<: *default
database: second_db
什么是新条目添加到该文件与坚决的ellegant方式在bash脚本中设置格式:
{var1}:
<<: *default
database: {var1}
我会直接从命令行执行脚本 - 而不是.sh文件。
答
我不知道是否正确理解,但在命令行中,你可以通过使用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
答
直接从命令行执行脚本 - 不是.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
答
能否请您尝试以下和让我知道这是否有助于你。
解决方案第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