简单的“变量”Bash 文件

Chi*_*ins 5 bash shell-script

我只想制作一个以文件名作为参数的 bash 文件。在那个 bash 文件中,我想在扩展名之前使用名称并将其作为“变量”,以便在其他地方使用。例如,如果我要运行bash_script_name sample.asmbash 脚本将运行:

nasm -f elf sample.asm
ld -s -o sample sample.o io.o
Run Code Online (Sandbox Code Playgroud)

所以基本上的形式 bash_script_name $().asm

nasm -f elf $().asm
ld -s -o $() $().o io.o
Run Code Online (Sandbox Code Playgroud)

...但是我会在 bash 中做到这一点。

Mic*_*zek 10

脚本的第一个参数将在$1. 您可以使用bash 字符串替换来拉出扩展名;这将删除最后一次出现的所有内容.,并将结果存储在$filename

filename="${1%.*}"
Run Code Online (Sandbox Code Playgroud)

然后你可以$filename在你的脚本中使用你想要的任何地方:

nasm -f elf "$filename.asm"
ld -s -o "$filename" "$filename".o io.o
Run Code Online (Sandbox Code Playgroud)