Kon*_*kov 5 unix bash environment-variables
我需要将一些环境变量值放到文件中.
cat file
# $VAR
echo $VAR
# text
Run Code Online (Sandbox Code Playgroud)
当我做envsubst '$VAR $VAR' < file > file文件变空.要解决此问题,我使用envsubst '$VAR $VAR' < file | tee file 2>&1 >/dev/null.但有时它不起作用,我的意思是文件变空.第一个问题是为什么有时文件变空了,第二个问题是什么是在Linux和*BSD和MacOS中将env变量文件放入文件的真正的Unix方法?
che*_*ner 14
在启动命令之前,shell 始终处理输出重定向,从而截断文件.
与管道envsubst ... < file | tee file,两个命令envsubst和tee运行异步的,这意味着所述OS是免费启动一个或另一个命令第一.你基本上envsubst是file在tee运行之前扔掉运行和读取的骰子并截断文件.
唯一正确的解决方案是写入临时文件,然后在确认命令成功后将原始文件替换为临时文件.
| 归档时间: |
|
| 查看次数: |
3988 次 |
| 最近记录: |