KDE4 ServiceMenus에 견적이 필요합니까?

KDE4 ServiceMenus에 견적이 필요합니까?

Exec=kde4의 서비스 메뉴 라인에서 나는 보통 다음을 사용합니다:

Exec=command %f

그래서 인용이 필요한지 궁금합니다. %fKDE4가 메뉴 파일을 어떻게 구문 분석하는지 잘 모르겠습니다.

Exec=command "%f"

답변1

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

예를 들어 이 게시물의 제목은 다음과 같습니다.쉘 스크립팅 기본 사항.. 큰따옴표를 전달하는 방법은 무엇입니까?.

발췌

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

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   

파일 이름에 공백이 포함되어 있지 않으면 제대로 작동합니다.

따라서 다음 상황을 처리하지 않는 한 따옴표를 사용하지 않고도 문제를 해결할 수 있는 것 같습니다.

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

관련 정보