이런 스크립트가 있어요~/draft
$ cat test.sh
#! /usr/local/bin/bash
for i in ./*;do
echo $i
done
실행하면 test.sh
코드 블록이 다음 위치에 저장됩니다.
$ bash test.sh
./first.html
./second.html
./test.sh
./third.html
그래서 스크립트 이름을 실행 test.sh
하고 출력을 얻습니다.
또는 다음 명령을 직접 실행할 수도 있습니다.
$ for i in ./*; do echo $i; done
./first.html
./second.html
./test.sh
./third.html
두 번째 블록에서도 동일한 결과가 나왔습니다.
이전 코드가 file 에 있으므로 test.sh
이 명령이 있는 파일 이름은 무엇입니까 for i in ./*; do echo $i; done
?
답변1
명령은 실행될 파일에 저장될 필요가 없습니다. 인터프리터(이 경우 bash
)는 스크립트 파일과 마찬가지로 명령줄을 메모리로 간단히 읽을 수 있습니다(몇 가지 사소한 버퍼링 관련 주의 사항 있음). 실행 정확히 같은 방식으로 작동합니다.