특정 파일을 생성/변경한 다음 Bash에서 한 줄로 모두 가져오는 명령이 필요합니다.
나에게는 이것이 가능한지(또는 왜 불가능한지) 아는 것이 중요합니다. 이렇게 하면 source
in 또는 ./
.
예를 들어 별칭을 추가하는 다음 코드 템플릿이 있습니다 /etc/bash.bashrc
.
cat <<-"APPENDIX" >> /etc/bash.bashrc
alias shortcut="command"
alias shortcut="command"
APPENDIX
source /etc/bash.bashrc
source /etc/bash.bashrc
파일이 변경되는 즉시 파일을 가져와 해당 줄을 저장하려면 어떻게 해야 합니까 ?
참고: 저는 모든 권한을 가지고 있습니다 /etc/bash.bashrc
.
답변1
당신은 그것을 사용할 수 있습니다프로세스 교체,tee
, 그리고sponge
moreutils에서:
source <(cat /etc/bash.bashrc - <<-"APPENDIX" | tee >(sponge /etc/bash.bashrc)
alias shortcut="command"
alias shortcut="command"
APPENDIX
)
하지만 아마도 이렇게는 하지 않을 것입니다.
아니면 그냥명령 대체, 파일 자체에서 읽기:
source $(cat <<-"APPENDIX" >> /etc/bash.bashrc ; echo /etc/bash.bashrc
alias shortcut="command"
alias shortcut="command"
APPENDIX
)
어쩌면 그렇게하지 않을 수도 있습니다.