![따옴표 안에 있으면 Bash 변수가 변경됩니다.](https://linux55.com/image/74807/%EB%94%B0%EC%98%B4%ED%91%9C%20%EC%95%88%EC%97%90%20%EC%9E%88%EC%9C%BC%EB%A9%B4%20Bash%20%EB%B3%80%EC%88%98%EA%B0%80%20%EB%B3%80%EA%B2%BD%EB%90%A9%EB%8B%88%EB%8B%A4..png)
패턴과 일치하는 첫 번째 파일을 가져와서 명령문에 사용하려고 합니다. 에 있는 것과 동일한 단계를 사용하십시오.와일드카드 확장에서 첫 번째 일치 항목을 얻는 방법은 무엇입니까?나는 다음을 썼다:
#!/bin/bash
files=("*.sql")
firstfile=${files[0]}
echo $firstfile
echo "The first file is $firstfile"
이것을 실행하면 출력은 다음과 같습니다.
SQL 파일.sql
첫 번째 파일은 *.sql입니다.
$firstfile
상황에 따라 값이 변경되는 이유는 무엇입니까 ?
답변1
마지막 줄은 $firstfile의 실제 내용을 인쇄합니다.
첫 번째 에코는 큰따옴표를 사용하지 않았기 때문에 파일 시스템을 통해 $firstfile을 확장합니다.
답변2
파일 줄에서 따옴표를 제거하면 다음과 같은 결과가 남습니다.
#!/bin/bash
files=(*.sql)
firstfile=${files[0]}
echo $firstfile
echo "The first file is $firstfile"