![폴더 소유권 변경이 작동하지 않습니다!](https://rvso.com/image/1083740/%ED%8F%B4%EB%8D%94%20%EC%86%8C%EC%9C%A0%EA%B6%8C%20%EB%B3%80%EA%B2%BD%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4!.png)
다음 중 하나를 입력하여 폴더 및 하위 폴더의 소유권을 변경하려고 합니다.
sudo chown $user -R /usr/bin/.folder/
sudo chown $user -R /usr/bin/folder/
sudo chown $user -R /usr/bin/.folder
sudo chown $user -R /usr/bin/folder
그러나 나는 다음과 같은 결과를 얻습니다.
chown: missing operand after '/usr/bin/.folder/'
내가 도대체 뭘 잘못하고있는 겁니까?
답변1
소문자가 $user
작동하지 않는 이유
다른 사람의 의견을 명확히 하고 확장하려면가지다 말했다, 쉘 및 환경 변수는 대소문자를 구분합니다. user
및 USER
다른 변수이므로 해당 내용( 각각 $user
확장 $USER
되는 내용)이 다를 수 있습니다. 일반적으로 호출되는 변수는 user
정의되지 않고 $user
아무것도 확장되지 않는 반면, 원하는 것은 $USER
사용자 이름으로 확장되는 것입니다.
이 echo
명령은 일반적으로 변수 값을 확인하는 데 적합합니다.
$ echo "$user"
$ echo "$USER"
ek
값에 공백이 포함되지 않은 변수의 경우 출력에 영향을 주지 않고 따옴표를 제거할 수 있습니다. 그래서 내가 원한다면
그냥 사용할 수도 있었습니다 .echo $USER
또 다른 옵션은chown
아마도 자신의 사용자 이름을 알고 있으므로 . 대신 해당 사용자 이름을 사용할 수 있습니다 $USER
. 이렇게 하면,$
부호를 생략하세요.
예를 들어, 내 사용자 이름은 이므로 다음을 ek
사용할 수 있습니다.
sudo chown ek -R /usr/bin/.folder/
당신이 얻는 이유저것오류
특정 오류 메시지가 나타나는 이유가 궁금할 수 있습니다.
chown: missing operand after '/usr/bin/.folder/'
해당 메시지는 실제로 정보를 제공합니다. 변수를 확장한 명령에서 이와 같은 메시지가 표시되면 확장된 변수 중 하나 이상이 의도치 않게 비어 있거나 설정되지 않았을 수 있음을 의미합니다.
을 실행했는데 아마도 정의되지 않았기 sudo chown $user -R /usr/bin/.folder/
때문에 아무 것도 확장되지 않았으며 다음을 실행하는 것과 같습니다.user
$user
sudo chown -R /usr/bin/.folder/
아마도 알고 있듯이 이 -R
옵션은 디렉토리 트리의 모든 파일에 대해 작업을 수행합니다 . 무로 확장된 chown
이후 처음으로$user
/usr/bin/.folder/
비옵션에 대한 인수 chown
이므로 원하는 소유권(예: 사용자 이름)을 지정하는 인수로 해석됩니다. /usr/bin/.folder
이에 대한 유효한 구문은 아니지만 다른 오류가 chown
먼저 중지되었기 때문에 특정 오류가 보고되지 않았습니다. 인수가 더 이상 없으므로 chown
작동하도록 지정된 것이 없습니다.~에.
달리 말하면, 를 실행하면 인수 sudo chown $USER -R /usr/bin/.folder/
가 다음과 같이 확장되어 sudo chown ek -R /usr/bin/.folder/
해석 됩니다.chown
ek
: 사용자 이름, 아직 사용자 이름 인수가 전달되지 않았기 때문에-R
: 재귀 옵션(선행은 옵션 인수임을 알려줍니다-
)chown
/usr/bin/.folder/
: 사용자 이름이 이미 전달되었으므로 소유권을 변경할 파일 또는 디렉터리
그러나 를 실행하면 다음과 같이 인수가 sudo chown $user -R /usr/bin/.folder
확장되어 sudo chown -R /usr/bin/.folder/
해석 됩니다.chown
-R
: 재귀 옵션/usr/bin/.folder/
: 사용자 이름, 아직 사용자 이름 인수가 전달되지 않았기 때문에
추가 자료
자세한 내용은 다음 항목에 관심이 있을 수 있습니다.
답변2
$USER
대신 사용해 주세요 $user
.
sudo chown $USER -R /usr/bin/.folder/
답변3
변수 user
가 비어 있을 수 있습니다. 노력하다 $USER
.