빈 .txt 파일을 생성해야 하는 경로와 변수가 포함된 셸 스크립트를 생성하고 싶습니다.
나는 시도한다:
**
path=directory part
touch Test{1..100}.txt
**
하지만 이 100개의 파일은 스크립트와 동일한 디렉터리에 생성됩니다. 이 문제를 해결하는 데 도움을 주실 수 있나요?
답변1
작은 의견: path
변수 이름과의 충돌을 고려하면 아마도 좋은 선택이 아닐 것입니다 PATH
.편집하다:@Paul_Pedant가 주석에서 지적했듯이 in zsh
변수 는 path
예약되어 있으며 $PATH에 디렉터리를 보유하는 문자열 배열입니다. 예를 들어 일부 다른 쉘에는 bash
그러한 예약이 없습니다.
당신은 다음과 같은 것을 할 수 있습니다
FILES_HERE=/path/to/dir
touch $FILES_HERE/Test{1..100}.txt
가변 개수의 파일을 만들려면 해당 파일을 루프 touch
에서 사용할 수 있습니다.while
https://stackoverflow.com/a/31365662/3856731
인수를 취하고 거기에 파일을 저장하는 스크립트를 갖는 것이 유용할 수 있습니다. 스크립트가 인수 없이 호출되면 기본값은 $PWD입니다.
#!/bin/bash
touch ${1:-.}/Test{1..100}.txt
(답변 아래 구문 설명.) 다른 이름으로 저장하고 test.sh
호출했다고 가정하면 chmod +x test.sh
다음을 수행할 수 있습니다.
$ ./test.sh
100개의 빈 파일을 현재 디렉터리에 넣습니다. 아니면 전화하세요
$ ./test.sh ~/Documents
그것들을 쓰세요 ~/Documents
.
편집하다:
구문 설명:"설정되지 않았거나 빈 문자열과 같으면 ${1:-.}
이 스크립트의 첫 번째 명령줄 인수( $1
) 또는 기본값 .
(일명 $pwd
)으로 바꾸십시오"를 의미합니다. 실행 가능한 스크립트를 호출하면 제공한 매개변수가 자동으로 열거됩니다.$1
''
./script.sh $1 $2 $3 $4...