파일 데이터를 다시 실행하지 않고도 Bash에서 항상 사용할 수 있도록 유지합니다(재부팅 시에도 마찬가지).

파일 데이터를 다시 실행하지 않고도 Bash에서 항상 사용할 수 있도록 유지합니다(재부팅 시에도 마찬가지).

~/myScripts/assignments.sh변수 및 별칭과 같은 다양한 할당이 포함된 파일이 있습니다 . 파일의 일부 내용은 다음과 같습니다.

drt="/var/www/html"
rss="/etc/init.d/php*-fpm restart && systemctl restart nginx.service"

alias drt="cd ${drt}"
alias rss="${rss}"

저는 운영 체제를 설치한 순간부터 이러한 작업을 정기적으로 사용해 왔으며, 특히 웹 서버와 인접 소프트웨어를 설치, 구성 및 유지 관리하기 위한 깔끔한 스크립트를 작성했습니다.

그러므로 이 문서는 매우 중요하다.항상 수출됨reboot, 해당 데이터는 Bash 세션이 시작된 후(그리고 그 이후) 모든 Bash 세션에서 항상 사용할 수 있습니다.

이를 달성하기 위해 나는 다음과 같은 끔찍한 스크립트를 생각해 냈습니다.

source ~/myScripts/assignments.sh # Immediate availability;
printf "\n%s" "source ~/myScripts/assignments.sh" >> ~/.profile
cat > "cron_daily.sh" <<< "source ~/myScripts/assignments.sh"

crontab <<-"CRONTAB"
    0 0 * * * ~/myScripts/cron_daily.sh # Permanent availability (after the one minute gap);
CRONTAB

위에서 설명한 상태를 달성하는 좋은 방법은 무엇입니까?

고쳐 쓰다

이 파일을 소싱한 다음 bash.bashrc에 추가하지 않는 이유 source ~/myScripts/assignments.sh는 일부 개발자가 일반적으로 이 파일을 소싱하는 것을 꺼리기 때문입니다 bash.bashrc. 그러나 파일이 사용자 정의되지 않았거나 작은 변경 사항만 있는 경우에는 일반적으로 문제가 되지 않습니다.

답변1

"모든" bash 세션에 할당이 필요한 경우 파일을 비슷한 위치에 놓고 /etc/assignments전역에서 가져옵니다 /etc/bash.bashrc.

다음에 추가하십시오 /etc/bash.bashrc.

source /etc/assignments

이렇게 하면 모든 bash 세션에서 각 사용자가 모든 정의를 사용할 수 있으며 정보를 별도의 파일로 유지할 수 있습니다.

관련 정보