쉘 전환의 별칭으로 새로운 .bashrc를 얻는 방법은 무엇입니까?

쉘 전환의 별칭으로 새로운 .bashrc를 얻는 방법은 무엇입니까?

sudo -s이라는 실행 별칭이 있습니다 . 내 홈 디렉터리에서도 루트 세션을 가져오길 ssu원합니다 ..profile

다른 답변은 이것이 해결책이라고 말하는 것 같습니다.

alias ssu='sudo -s && sudo -Hu root source /my_home/.profile'

그러나 source루트로 실행해도 프로필이 생성되지는 않습니다.내 거껍데기. 나를 따라 명령을 실행합니다.로그아웃내 루트 세션.

두 개의 명령을 실행하지 않고도 sudo -s및 (루트로) 연속적이고 원활하게 실행하는 방법이 있습니까 ?source

답변1

sudo에서 실행되는 세션의 모든 변수는 호출 수명 내에서 범위가 지정됩니다. 별칭의 내용은 sudo -s쉘을 루트로 시작하는 명령입니다. 해당 쉘을 종료하면 다른 명령이 실행됩니다 sudo -Hu root source /my_home/.profile. 여러분이 생각하는 대로 작동하더라도(실수는 아님) 이번이 두 번째로 호출되는 것이며 별도의 쉘 세션이 됩니다.

Bash의 명령 source은 실행 파일이 아닌 내장 명령이므로 sudo는 루트로 시작할 수 없습니다. 그러나 bash 명령에서 실행할 수 있습니다.

어쩌면 당신은 최고의 서비스를 얻을 것입니다

sudo -H bash —rcfile /my_home/.profile?

관련 정보