노틸러스 스크립트는 선택한 여러 파일에 대해 하나의 작업을 수행합니까?

노틸러스 스크립트는 선택한 여러 파일에 대해 하나의 작업을 수행합니까?

단일 작업을 수행하기 위해 선택한 여러 파일을 입력으로 사용하도록 수정하고 싶은 노틸러스 스크립트가 있습니다. 누군가 이것을 달성하는 방법을 설명할 수 있습니까?

나는 이것을 시도했고 command $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS스크립트가 하는 일은 두 개의 개별 작업으로 실행되는 command file1것 입니다. command file2이것은 내 사용 사례에서는 작동하지 않습니다. 대신 스크립트를 실행해야 합니다 command file1 file2.

align_image_stack중요한 경우 2개 이상의 이미지 파일을 입력으로 요구하는 명령과 함께 사용합니다. 오류 메시지를 보기 위해 터미널에서 노틸러스(Nautilus)를 실행하면 다음과 같은 메시지가 나타납니다."align_image_stack: 최소 2개의 파일을 지정해야 합니다.". 아래와 같이 일부 명령을 테스트했지만 모두 동일한 오류 메시지가 생성됩니다. 문제는 변수가 $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS줄 바꿈을 생성한다는 것인데 선택한 파일 경로를 캡처하는 방법을 모르겠습니다.

align_image_stack "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
align_image_stack $(echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
align_image_stack printf("$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS")
echo -n "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | xargs -I align_image_stack "{}"

답변1

나는 그것을 작동시키지 못했지만 $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS이것은 작동합니다 :

command $(echo -n "$@")

나는 이것이 명령 대체라고 생각합니다. "$@" 문자는 선택된 모든 파일을 명령에 대한 입력으로 함께 삽입하고 -n 매개변수를 사용하여 에코가 나열한 후 개행을 억제합니다.

괄호로 묶인 사진 세트를 정렬하고 혼합해야 하는 경우 테스트를 거쳐 잘 작동하는 다음 Nautilus 스크립트를 사용할 수 있습니다. 완성된 제품을 데스크탑에 출력하고(파일 이름은 현재 시간) 다음을 수행한 후 모든 임시 파일을 지웁니다.

#!/bin/bash
align_image_stack -a BATCH -C $(echo -n "$@") && enfuse -o ~/Desktop/$(date '+%Y-%m-%d-%T').tif BATCH*.tif && rm BATCH*.tif

관련 정보