나는 다음과 같은 함수에 파일 패턴을 전달하는 일을 하고 있습니다.
line=FILE*.txt
getFlag $line
그리고 그 기능은 다음과 같습니다.
function getFlag
{
filepattern=$1
echo "File pattern is: $filepattern"
}
출력이 필요합니다.
File pattern is: FILE*.txt
다음과 같이 폴더에 일치하는 파일 이름이 있는 출력을 얻으면:
File pattern is: FILE123.txt
파일 패턴을 함수에 변수로 전달하고 있지만 변수 확장을 방해하지 않으며 변수의 패턴과 일치하는 파일 이름이 전달됩니다.
위 사항에 대한 도움을 주시면 대단히 감사하겠습니다.
답변1
~처럼이르카추 라고, 작은따옴표나 큰따옴표를 사용하여 이 함수에 전달된 매개변수를 인용할 수 있습니다.
line='FILE*.txt'
또는
line="FILE*.txt"
Bash에게 실행하라고 지시하는 것아니요대안 또는일부교체는 파일 이름 확장 없이 개별적으로 수행됩니다.
또 다른 옵션은 when 설정 줄을 이스케이프 처리 *
한 다음 따옴표를 사용하여 매개 변수를 함수에 전달하는 것입니다.
line=FILE\*.txt
getFlag "$line"