선택한 각 폴더에 대한 프로그램 인스턴스에 대한 사용자 지정 작업을 열시겠습니까?

선택한 각 폴더에 대한 프로그램 인스턴스에 대한 사용자 지정 작업을 열시겠습니까?

Thunar에서 다음을 사용하여 폴더를 열 수 있기를 원합니다.전 파소.

command 를 사용하여 사용자 지정 작업을 만들었습니다 /usr/bin/exfalso %f. 단일 폴더를 선택할 때 작동합니다. 여러 폴더를 선택할 때 Thunar가 선택한 각 폴더에 대해 Ex F also 인스턴스를 열도록 하고 싶습니다.

매개변수를 시도했지만 %FEx %NF also는 첫 번째 폴더에 대해서만 열립니다.

답변1

%f이것을 시도하는 대신 인수를 사용자 정의 명령으로 사용하고 내부적으로 다음과 같은 작업을 수행하는 셸 스크립트를 만드는지 궁금합니다 .

#!/bin/bash

for i in "$@"; do
  echo "/usr/bin/exfalso $i"
done

그러면 다음과 같은 일련의 명령이 생성됩니다.

$ ./myexfalso_lancher.bash 1 2 3 "4 5"
/usr/bin/exfalso 1
/usr/bin/exfalso 2
/usr/bin/exfalso 3
/usr/bin/exfalso 4 5

이것이 당신이 원하는 것입니다. 작동하게 하려면 echo해당 줄을 다음과 같이 변경 하면 됩니다 .

/usr/bin/exfalso "$i"

이 접근 방식의 문제에 대해 걱정할 수도 있고 걱정하지 않을 수도 있습니다.

  1. 처리 중인 파일/폴더에 공백이 포함된 경우 for매개변수를 %f인용하지 않으면 루프가 작동하지 않을 수 있습니다. 명령문을 while사용하여 루프 로 전환하면 read파일이나 폴더 이름의 공백을 더 잘 처리할 수 있습니다.
  2. 스크립트에 전달하는 명령 매개변수가 무엇인지 100% 확신할 수 없습니다. 그럴 것 같지만 %f다른 것을 사용해야 할 수도 있습니다.
  3. 시작할 수 있는 exfal의 수를 제한하기 위해 이 스크립트에 몇 가지 보호 기능을 추가할 수도 있습니다. 간단한 루프 카운터가 이를 수행할 수 있습니다. 10에 도달하면 종료될 수 있습니다.

관련 정보