KDE4 ServiceMenus에서 따옴표를 사용해야 합니까?

KDE4 ServiceMenus에서 따옴표를 사용해야 합니까?

Exec=kde4의 서비스 메뉴 줄 에서 나는 일반적으로 다음을 사용합니다:

Exec=command %f

%f그래서 KDE4가 메뉴 파일을 어떻게 구문 분석하는지 잘 모르겠지만 를 인용해야 하는지 궁금합니다.

Exec=command "%f"

답변1

나는 사람들이 줄의 인수 주위에 따옴표를 포함시킨 여러 스레드를 발견했습니다 Exec=. 다루는 인수에 공백이 포함되어 있으면 필요하다고 생각합니다.

예를 들어 다음과 같은 제목의 스레드가 있습니다.쉘 스크립팅 기본.. 큰따옴표를 전달하는 방법 ??.

발췌

내가 선택한 unrar:s 파일을 kde에 서비스 메뉴 항목으로 만들려고 합니다. 나는 이것을 서비스 메뉴 파일에 넣었습니다:

Exec=/usr/bin/extract 1 %U

/usr/bin/extract에는 다음이 있습니다.

if [ $1 = "1" ]; then
    unrar e "$2"
fi  
if [ $1 = "2" ]; then
    unrar x "$2"
fi   

파일 이름에 공백이 포함된 경우를 제외하고는 정상적으로 작동합니다.

따라서 다음 중 하나를 다루지 않는 한 따옴표를 사용하지 않고도 벗어날 수 있는 것처럼 보입니다.

  • 공백을 포함하는 경로
  • 공백이 포함된 파일 이름
  • 공백을 포함하는 명령줄 인수입니다.

관련 정보