bash의 "디렉토리 오류"


2

에 대한 지식이 매우 제한되어 bash있으며 내가 뭘 잘못하고 있는지 파악할 수 없었습니다.

이 블로그 게시물의 단계를 따르려고합니다 : Mendeley와 Dropbox를 사용하여 컴퓨터에서 pdf 라이브러리를 동기화하십시오.

그러나 터미널 명령을 실행하면 다음 오류가 발생합니다.

~/Library/Application\ Support>cp -r Mendeley\ Desktop/ ~/Dropbox/Mendeley/db/
-bash: /Users/XXXXXXXX/Library/Application Support: is a directory

온라인에서 읽은 모든 내용은이 명령이 올바른 것으로 보입니다.


링크 된 기사는 실제로 bash 스크립팅과 관련이 없으며 터미널에서 일부 개별 명령 줄 프로그램을 실행하면이 경우 bash 스크립팅과 동일하지 않습니다. 그러나 그 기사는 IMO가 잘못 작성되었습니다! 표시된 명령 프롬프트는 OS X의 기본 프롬프트와 다르며 일반적으로 환경에 정의 된 패턴을 갖습니다 PS1='\h:\W \u\$ '. 여기서 \h호스트는 제까지이며, (A)는 '.' :세퍼레이터로 \W의 기본 이름 $PWD과, $HOME틸드하는로 약칭 공간 세퍼레이터로서, (... 다음에 계속)
user3439894

\u현재 사용자의 이름 및 \$유효 UID이면 0, #그렇지 않으면 $다른 뒤에 공간 . 그래서와 프롬프트 cp명령은,처럼 보였다 예해야 mac1:Application Support johndoe$ cp -r Mendeley\ Desktop/ ~/Dropbox/Mendeley/db/첫번째 실제로 이야기 된 이후 cd~/Library/Application\ Support수행하라고되지 않은. 명령 프롬프트가 어떻게 생겼는지에 대한 아주 나쁜 표현을 보여 주었고 처음에는 결코 그렇게 보이지 않았을 것입니다! 혼동이 발생한 것은 전혀 잘못이 아닙니다.
user3439894

답변:


1

링크 된 아티클의 저자는 아마도 bash 프로파일을 수정했거나 (질문에 대한 사용자 user3439894의 설명과 같이) 명령을 복사하여 붙여 넣기하는 데 문제가있었습니다.

대신 다음을 사용하십시오.

cd ~/Library/Application\ Support
cp -r Mendeley\ Desktop/ ~/Dropbox/Mendeley/db/
mv Mendeley\ Desktop/ _backup_Mendeley_Desktop/
ln -s ~/Dropbox/Mendeley/db/Mendeley\ Desktop .

.마지막 명령 끝에 점을 포함시키는 것을 잊지 마십시오 . 마지막 줄은 현재 작업 디렉토리 ( "~ / Library / Application Support")에 "~ / Dropbox / Mendeley / db / Mendeley Desktop"폴더의 소프트 링크를 만듭니다.

설명 :

  1. cd ~/Library/Application\ Support: 작업 디렉토리를 "/ Users / YourUserFolder / Library / Application Support"로 변경하십시오.
  2. cp -r Mendeley\ Desktop/ ~/Dropbox/Mendeley/db/: "Mendeley Desktop"폴더 (내용 포함)를 "~ / Dropbox / Mendeley / db /"폴더로 복사하십시오.
  3. mv Mendeley\ Desktop/ _backup_Mendeley_Desktop/: "Mendeley Desktop"폴더의 이름을 "_backup_Mendeley_Desktop"으로 바꾸십시오 (이동 / 백업).
  4. ln -s ~/Dropbox/Mendeley/db/Mendeley\ Desktop .: 현재 작업 디렉토리에 "~ / Dropbox / Mendeley / db / Mendeley Desktop"폴더의 소프트 링크를 만듭니다.

1
링크 된 기사의 작성자가 수정 된 bash 프로파일을 가지고 있는지 여부에 관계없이, 기사가 부족한 경우 터미널 사용과 관련된 주제에 대한 실제 지시 사항이 포함되어 있지 않습니다. 보통의 컴퓨터 사용자는 종종 명령 행을 사용하지 않으며 분명한 지시가 있더라도 시작해야 할 때 일반적으로 위협을받는다고 말하면 충분합니다. 이 영역에서 기사가 부족한 IMO. (다음 댓글에서 계속 ...)
user3439894

1
대신, 예를 보여주는 "MAC1 @ [맥] : ~ / 라이브러리 / 응용 프로그램 지원>"에 대한 명확한 방향이 있었어야 cd~/Library/Application\ Support다음 그냥 전형적인 명령 프롬프트를 표시하지 않고 개별 명령을 보여줍니다. 프롬프트가 표시되면 일반적인 기본값을 사용하거나 $일부 문서에서 공통으로 사용 하거나 전혀 표시하지 마십시오. 개인적으로 나는 cd...을 듣고 싶어 하며 명령 프롬프트를 표시하지 않고 실행할 실제 명령을 보여줍니다. 실제 명령을 둘러싼 혼란이 적을수록 프로세스를 더 쉽게 이해할 수 있습니다.
user3439894

난 당신이 내 의견에 의해 당신이 당신의 답변을 변경하거나 설명을 할 필요가 있음을 제안하지 않았다는 것을 알기를 원했습니다. 나는 방금 OP에서 링크 된 기사를 잘못 쓴 IMO에 대한 비평가가되었습니다. 답은 일반적으로 잘 작성되어 있으며 이해하기 어려운 복잡한 주제 일지라도 이해하기 쉽습니다. 즉, 최근 편집 내용은 명령 줄 neophyte에 대한 가치를 추가합니다. :) 가능하면 다시 +1하겠습니다.
user3439894

1
@ user3439894 쉘에 관한 많은 대답은 명령이 실제로 무엇을하는지에 대한 설명이 부족합니다. 그래서 저는 여러분의 의견을 자극으로 추가했습니다. ;-)
klanomath 2016
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.