저는 OpenSUSE 12.3을 실행 중이고(11부터 이 동작을 확인했습니다) 전체 경로를 사용하지 않으면 수퍼유저 프로그램(예: 종료, 다시 시작)을 호출할 수 없다는 것을 발견했습니다. 저에게는 거기에 많은 실행 파일이 있으므로 /sbin
. 다행히 사용시에는sudo reboot
sudo /sbin/reboot
스도OpenSUSE 쉘(세게 때리다) 키를 누르면 이 경로가 확장되므로 결과 Tab
는 .sudo rebo[Tab]
sudo /sbin/reboot
OpenSUSE는 다음을 제공합니다.배쉬 완료자동 완성 기능을 확장합니다.세게 때리다다양한 기타 컨텍스트를 포함합니다(예:설정). 불행하게도 기본적으로 이 패키지는 슈퍼유저 실행 파일을 전체 경로로 확장하지 않고 실행 파일 이름만 확장하므로 sudo rebo[Tab]
오류 가 sudo reboot
발생합니다 sudo: reboot: command not found
.
설치/실행 방법배쉬 완료또한 수퍼유저 실행 파일의 자동 완성이 전체 경로로 확장되는지 확인하시겠습니까?
답변1
PATH var에 /sbin을 추가하면 안 되는 이유는 무엇입니까? :
export PATH=$PATH:/sbin
답변2
확장하다@길스답변에 대한 의견:
이 질문은 묻습니다배쉬 완료실행 파일을 /sbin
탭의 전체 경로로 확장했지만 슈퍼유저 디렉터리(예: /sbin
, /usr/sbin
등) 를 추가했습니다.스도검색 경로.
이를 위해 다음 줄과 유사한 secure_path
변수를 Sudoers 파일에 추가해야 했습니다( edit 사용 ).visudo
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
누군가가 실제로 이러한 실행 파일에 대한 경로를 확장하는 솔루션을 제공했다면 나는 그것이 질문에 대한 실제 대답이라고 생각하겠지만, 이 솔루션도 내 요구 사항을 충족합니다.