내 첫 번째 bash 스크립트를 바로 잡으려고하는데, 한 번에 파일 이름이 스크립트에 $1
. 확장자없이 파일 이름을 추출해야합니다.
현재 모든 확장자가 3 자라고 가정하고 있으므로 마지막 4자를 제거하여 파일 이름을 얻습니다.
a="${1:0:-4}"
하지만 %~n1
Windows 와 같이 3 자 이상의 확장 기능을 사용할 수 있어야합니다 .
인수에서 확장자없이 파일 이름을 추출하는 방법이 있습니까?
bash에서이를 수행하는 일반적인 방법은 매개 변수 확장을 사용하는 것입니다. ( bash man 페이지를 참조하고 "Parameter Expansion"을 검색하십시오.)
a=${1%.*}
는 가능한 가장 짧은 일치를 사용하여 오른쪽에서 %
( .*
) 다음에 오는 패턴과 일치하는 모든 항목이 매개 변수에서 삭제됨을 나타 $1
냅니다. 이 경우 표현식 주위에 큰 따옴표 ( ")가 필요하지 않습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다