, 내가 $1=test.tex
경우, 다음 ${1%.tex}.asy
이 test-1.asy
될 것입니다 알고 있지만 1%.
여기 무슨 뜻
latex $1
asy ${1%.tex}.asy
? ${1%.tex}.asy
이 test.asy
이되도록하려면 어떻게해야합니까?
, 내가 $1=test.tex
경우, 다음 ${1%.tex}.asy
이 test-1.asy
될 것입니다 알고 있지만 1%.
여기 무슨 뜻
latex $1
asy ${1%.tex}.asy
? ${1%.tex}.asy
이 test.asy
이되도록하려면 어떻게해야합니까?
:
$ {매개 변수 % 단어}
$ {매개 변수 %% 단어}
단어는 파일 이름 확장에서 같은 패턴을 생성하기 위해 확장된다. 패턴이 매개 변수의 확장 된 값의 후행 부분과 일치하면 확장 결과는 가장 짧은 패턴 (
%
경우) 또는 가장 길게 일치하는 패턴 (%%
경우)이 삭제 된 매개 변수의 값입니다. 매개 변수가@
또는*
이면 패턴 제거 작업이 각 위치 매개 변수에 차례로 적용되고 확장은 결과 목록입니다. 매개 변수가@
또는*
으로 아래 첨자 된 배열 변수 인 경우 패턴 제거 작업이 배열의 각 멤버에 차례로 적용되고 확장은 결과 목록입니다.$1
이text.tex
로 확장하는 경우
그럼 ${1%.tex}
는 text
로 확장됩니다.
정확히 내가 원하는 것, 감사합니다! –
당신은 스크립트에 인수를 제공 할 수있는, 예컨대 :
myscript one two three
는 그 인수는 위치 매개 변수 $1
, $2
및 $3
에 할당됩니다. 위의 예에서, $1
는 코드 ${1%.tex}.asy
그냥 변수 $1
에서 작동 등 two
에 one
및 $2
에 할당 할 것이다 : 그것은 제거 접미사 .tex
로 문자열을 반환하고 .asy
로 교체. Bash Reference Manual에서
감사합니다. 도움이됩니다. –
'$ 1'은 런타임에 쉘 스크립트에 전달 된 첫 번째 위치 변수입니다. '% .tex'는 뒤에서 가장 짧게 일치하는'.tex'를 제거합니다. 나는 당신이 위에서 보여준 것에서'test-1.asy' 결과물을 어떻게 얻었는지 잘 모르겠습니다. 원하는 출력을 얻을 수 있어야합니다. –
감사! 나는'test-1.asy '를 얻은 이유가 제 소프트웨어 구성과 관련이 있다고 생각합니다. –