일부 환경 변수 값을 파일에 넣어야합니다."envsubst <file > 파일"로 파일을 다시 쓰는 것이 왜 비워 둡니까?
cat file
# $VAR
echo $VAR
# text
envsubst '$VAR $VAR' <file> file
파일이 비게됩니다. 이 문제를 해결하려면 envsubst '$VAR $VAR' < file | tee file 2>&1 >/dev/null
을 사용하십시오. 하지만 때때로 작동하지 않는데, 파일이 비어 있음을 의미합니다. 첫 번째 질문은 때때로 파일이 비어있는 이유이고 두 번째는 Linux와 * BSD 및 MacOS에서 env vars를 파일로 저장하는 진정한 유닉스 방법이 무엇인가하는 것입니다.
사용 :'envsubst < file > file.tmp && mv file.tmp file' – anubhava
'cmd file> file'은'* nix' (UNIX와 Linux)에서 항상 99.9999 %의 잘못된 접근법입니다. ''* nix'에서해야 할 간단한 파일 변경에 대해 @anubhava의 패턴을 익히십시오. 행운을 빕니다. – shellter
다른 메모 :'bash'는 작은 따옴표로 보지 않습니다. – karakfa