내 파일 .bashrc
에 몇 가지 사용자 정의 함수와 별칭이 정의되어 있습니다 . 때로는 루트로 whim을 실행해야 할 때도 있습니다. 그런 다음 다음과 같은 작업을 수행합니다.
$ sudo custom_cmd 80
sudo: custom_cmd: command not found
루트 권한으로 이러한 명령을 어떻게 실행할 수 있습니까?
편집: 물론 이를 달성하기 위해 .bashrc
루트 ID를 소스로 사용할 수 있지만 이를 수행할 수 있는 빠른(입력 필요 측면에서) 방법이 있는지 궁금합니다. 또한 가능하다면 맞춤설정(예: .bashrc
자동 구매) 도 피하고 싶습니다.
답변1
쉘을 통해 실행하십시오.
sudo bash -c 'source /home/reachus/.bashrc; custom_cmd 80'
.bashrc
또는 리소스를 제공하는 스크립트를 작성하세요. 예 /usr/local/bin/my
:
#! /bin/bash
source /home/reachus/.bashrc
"$@"
그런 다음 다음을 수행하십시오.
sudo my custom_cmd 80
답변2
방금 같은 문제가 발생했습니다.
당신은 또한 수
cd /etc/profile.d
sudo gedit ./newfile.sh (you write commands here, can be nano also)
sudo chmod +x newfile.sh
계정에 로그인할 때마다 자동으로 실행됩니다. 테스트하려면 재부팅할 필요 없이 bash에서 "su yourusername"을 실행하고 로그인하면 작동합니다.