폴더 소유권 변경이 작동하지 않습니다!

폴더 소유권 변경이 작동하지 않습니다!

다음 중 하나를 입력하여 폴더 및 하위 폴더의 소유권을 변경하려고 합니다.

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작동하지 않는 이유

다른 사람의 의견을 명확히 하고 확장하려면가지다 말했다, 쉘 및 환경 변수는 대소문자를 구분합니다. userUSER다른 변수이므로 해당 내용( 각각 $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.

관련 정보