유닉스에 *가 전달된 인수 처리

유닉스에 *가 전달된 인수 처리

예를 들어 Unix의 구성 파일을 통해 쿼리를 받고 있습니다. 구성 파일 콘텐츠의 형식은 다음과 같습니다.

Table_name|query

ABC|select ABC.A,ABC.B from PQR left join (select * from ABC) on ABC.pk=PQR.pk

쿼리 부분을 다음과 같이 처리하려고 합니다.

    while read line in config_file
    do
        query=`echo $line|awk -F "|" '{print $1}'`
        result=hive -e "$query"
        ...

그러나 쿼리 변수의 "*"는 현재 디렉터리의 파일 목록으로 확장됩니다.

그 역할에서 벗어나는 방법을 도와주실 수 있나요 *? 해결책을 찾았지만 찾을 수 없었습니다.

답변1

안녕하세요 Saket Mankar, 커뮤니티에 오신 것을 환영합니다!

$line변수를 큰따옴표로 묶어야 합니다 "$line".

그러면 상황이 해결될 것입니다.

관련 정보