간단한 "변수" Bash 파일

간단한 "변수" Bash 파일

파일 이름을 매개변수로 사용하는 bash 파일을 만들고 싶습니다. 해당 bash 파일에서 확장자 앞에 이름을 가져와서 다른 곳에서 사용할 수 있도록 "변수"로 만들고 싶습니다. 예를 들어, 다음을 실행하면 bash 스크립트가 실행됩니다 bash_script_name sample.asm.

nasm -f elf sample.asm
ld -s -o sample sample.o io.o

그래서 기본적으로 형태는bash_script_name $().asm

nasm -f elf $().asm
ld -s -o $() $().o io.o

...하지만 나는 bash에서 할 것이다.

답변1

스크립트의 첫 번째 매개변수는 에 있습니다 $1.bash 문자열 교체확장을 당기면 마지막 항목이 모두 제거되고 .결과가 다음 위치에 저장됩니다 $filename.

filename="${1%.*}"

$filename그런 다음 스크립트의 어느 곳에서나 사용할 수 있습니다.

nasm -f elf "$filename.asm"
ld -s -o "$filename" "$filename".o io.o

답변2

이 특별한 대답Stack Overflow에 대한 비슷한 질문이 잘 생각된 것 같습니다. 여기에는 점이 없는 파일("somefile")과 점이 여러 개 있는 파일("somefile.tar.gz")을 처리하는 논리가 포함되어 있습니다.

관련 정보