Chef-从bash脚本编辑数据包

Chef-从bash脚本编辑数据包,bash,chef-infra,Bash,Chef Infra,我试图从bash脚本更改数据包项中的值。编辑器在用户的.bash_配置文件或knife.rb中设置为“ed”,但脚本失败。编辑是否可能以这种方式被识别*编辑:试图一次传递所有信息时,在终端中也会失败 herdoc的详细输出: #!/bin/bash -xv knife data bag edit dbag dbagitem --encrypt << EOF 3,$s/true/false/ w q EOF + knife data bag edit dbag dbagitem --

我试图从bash脚本更改数据包项中的值。编辑器在用户的.bash_配置文件或knife.rb中设置为“ed”,但脚本失败。编辑是否可能以这种方式被识别*编辑:试图一次传递所有信息时,在终端中也会失败

herdoc的详细输出:

#!/bin/bash -xv

knife data bag edit dbag dbagitem --encrypt << EOF
3,$s/true/false/
w
q
EOF
+ knife data bag edit dbag dbagitem --encrypt
47
?
ERROR: RuntimeError: Please set EDITOR environment variable

export EDITOR=/full/path/to/your/EDITOR
?假定
edit
命令用于交互使用。如果您希望自动执行此操作:
knife数据包show dbag dbagitem--encrypt-F json>/tmp/dbagitem.json&&&knife数据包,来自文件dbag/tmp/dbagitem.json,如果您的方法有效,那么这将是最好的,因为在调用edit的shell之外永远无法获得信息。不过没有骰子。Tensibai,行得通,再次感谢。
printf "3,$s/true/false/\nw\nq" | knife data bag edit dbag dbagitem --encrypt
47
?
47
ERROR: RuntimeError: Please set EDITOR environment variable