chmod 000
다양한 항목이 포함된 권한이 있는 폴더가 있습니다 . 내가 bash
들어가는 방법 sudo
은 sudo bash
.
나는 왜 할 수 없습니까 &&
? cd
다음과 같은 명령 하나로 디렉토리에 들어가고 싶습니다 .
sudo bash && cd desktop
이것을 실행해도 여전히 ~
기본 디렉터리에 있습니다.
대신 이걸 실행해야 해
sudo bash
cd desktop
또한 바탕 화면은 폴더가 아니라 바탕 화면의 하위 폴더이지만 중요하지 않습니다. 어차피 마찬가지다.
답변1
이후 부분은 현재 셸에서 실행되며, 로 실행하는 &&
데 전달되는 인수가 아닙니다 .bash
sudo
시도해 보고 싶은 유혹을 느낄 수도 있습니다
sudo bash -c 'cd desktop'
bash
하지만 그 이후에 종료되기 때문에 작동하지 않습니다 cd desktop
.
당신은 시도 할 수 있습니다:
sudo sh -c 'cd desktop && exec bash'
desktop
이는 "작동합니다"(즉 , uid=0인 Bash 쉘의 디렉토리에 배치됩니다 ). 나는 하나의 라이너보다 두 개의 별도 명령을 실행하는 편이 낫습니다.
답변2
예상대로 작동하지 않습니다. &&
명령이 완료될 때까지 기다립니다. 해당 시점의 결과가 이면 true
다음 명령을 실행합니다. 따라서 를 입력하면 bash && cd desktop
먼저 bash 쉘이 표시됩니다. 를 입력하면 exit
이전에 있던 쉘로 돌아갈 수 있습니다.그 다음에디렉토리가 데스크탑 폴더로 변경됩니다.
내가 설명한 기능 측면에서 sudo는 중요하지 않습니다. sudo에 대한 사용 사례는 아마도 모범 사례가 아닐 수 있으므로 다른 솔루션을 고려해야 합니다.