Bash 스크립트에서 드래그 앤 드롭으로 선택한 여러 파일을 정교하게 만드는 방법

Bash 스크립트에서 드래그 앤 드롭으로 선택한 여러 파일을 정교하게 만드는 방법

저는 KDE Plasma 5 데스크탑 환경에서 Dolphin을 사용하고 있습니다. 여기에는 Dolphin에서 파일을 드래그하여 아이콘이 있는 ".desktop" 정의된 스크립트에 놓을 때 정확히 하나의 파일을 정교하게 만들 수 있는 bash 스크립트를 작성했습니다 /home/user/scripts/list_all_drags.sh %f.

이것은 하나의 파일에서 작동합니다. 이제 Dolphin에서 선택한 여러 파일을 스크립트로 드래그하고 싶습니다. 스크립트는 각 파일 항목에 대한 절차를 자세히 설명해야 합니다. 단일 파일 %F대신 여러 파일에 사용했지만 작동하지 않습니다 .%f

무슨 일이 일어나는지는 각 파일 항목마다 하나씩 여러 개의 터미널 창이 열리는 것입니다. 내가 필요한 것은 여러 터미널 창을 열지 않고 첫 번째 창을 열지 않고 삭제된 각 파일 항목에 대해 하나의 스크립트에서 실행되는 코드입니다. 정확히 말하면 더 이상 키를 누르지 않고도 삭제된 파일로 명령을 시작하거나 실행하는 "루프"입니다.

%F내 스크립트에서 매개변수 값을 처리하는 방법을 모르겠습니다 .

답변1

제 생각에는 정답, 특히 %F로 여러 매개변수를 처리하는 방법을 찾은 것 같습니다.

먼저 파일 관리자에서 내 항목(파일)을 선택합니다. 두 번째로 표시된 파일을 모두 스크립트 아이콘으로 끌어서 해당 아이콘 위에 놓습니다. "/home/user/scripts/myscript.sh %F"로 실행되는 이 스크립트 내부에는 선택된 모든 파일 항목을 자세히 설명하는 루틴이 있습니다.

대량으로 선택하고 자세히 설명할 수 있는 매개변수(파일) 수는 확실하지 않지만, 여기의 이 루틴은 0보다 큰 모든 단일 매개변수(내가 선택하고 표시된 파일)를 계산하는 데 도움이 됩니다.

while (( $# > 0 )) # or [ $# -gt 0 ] do echo "$1" shift done

"echo $1" 대신에 이렇게 말할 수 있어요

file = $1

그런 다음 $file로 작업하는 서브루틴을 호출합니다.

이 게시물에 특별히 감사드립니다. 쉘에서 10개가 넘는 매개변수를 처리하는 방법

관련 정보