여러 파일을 쉘 스크립트로 끌어서 위치 인수로 전달하는 방법이 있습니까? 테스트할 때
echo "$# $@" > output.txt
스크립트에서 는 1개의 매개변수만 전달되며 전달된 매개변수는 끌어서 놓기 작업 이전에 선택된 마지막 파일임을 의미합니다.
이 작업을 수행하기 위해 내가 할 수 있는(속이거나 다른 방법으로) 뭔가가 있나요?
답변1
논리적인 것은 창 관리자가 떨어뜨린 항목의 경로를 매개변수로 떨어뜨린 항목에 전달한다는 것입니다.
이것지도 시간bash 스크립트 매개변수를 꽤 잘 다루는 것 같습니다.
변수 $1, $2, $3 등을 사용하여 스크립트 내에서 매개변수에 액세스합니다. 여기서 $1은 첫 번째 매개변수를 나타내고 $2는 두 번째 매개변수를 나타내는 식입니다.
echo $1
매개변수 개수가 가변적인 경우 모든 입력 매개변수의 배열인 "$@" 변수를 사용할 수 있습니다. 이는 다음 예제와 같이 for 루프를 사용하여 각 루프를 반복할 수 있음을 의미합니다.
for FILE1 in "$@"
do
wc $FILE1
done
모든 매개변수를 텍스트 파일로 출력하는 스크립트를 만들어 보십시오. 이는 창 관리자가 수행하는 작업을 찾는 데 도움이 됩니다. 또는 창 관리자를 연구하여 한 아이콘을 다른 아이콘으로 끌어서 놓는 방법을 확인하세요.