셸 스크립트를 통해 Bigquery 명령 줄을 실행하려고합니다. 예 :
#!/bin/bash
bq mk -t 'projectid':'datasetid'.'TEMP_table1'
위의 스크립트는 잘 작동합니다. 하지만 내 요구 사항은 생성해야하는 테이블 이름을 임의로 전달하는 것입니다. 그래서 쉘 스크립트에서 아래 명령을 실행합니다.
#!/bin/bash
Tablename=$1
echo $Tablename
bq mk -t 'projectid':'datasetid'."$(Tablename)"
./test.sh 'Temp_table'
명령이 오류로 실패 할 때 실행 하면 다음과 같습니다.
./test.sh : 행 13 : 테이블 이름 : 명령을 찾을 수 없음 mk 작업의 BigQuery 오류 : financelcr : datasetid에서 설명하는 테이블을 확인할 수 없습니다.
당신이하려는 $(..)
것은 서브 쉘 내에서 명령을 실행하는 명령 대체입니다. 필요한 것은 구문의 변수 확장입니다 ${..}
. 인수를 직접 사용하여 명령 변경
[ $# -eq 0 ] && { printf "Arguments not supplied\n"; exit 1; }
bq mk -t 'projectid':'datasetid'."${1}"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다