1

我想创建一个 shell 脚本以便我可以输入

gc program_name.c

并达到与我输入相同的效果

gcc -o program_name program_name.c

现在,我知道如何做到这一点,这样我就可以简单地输入gcc program_name并获得效果:

gcc -o $1 $1.c

问题是我想使用制表符完成,这种方法需要我退格来删除扩展名。(是的,这是一件小事,但我也有兴趣了解这种论点操纵背后的一般原则。)

换句话说,我希望能够让脚本删除尾随扩展。我猜我可以使用另一个变量,但我不知道怎么说,例如, $name = $1 minus the trailing extension

谢谢。

4

3 回答 3

2
#!/bin/bash
exec gcc -o "${1%.c}" "$1" 
于 2012-09-13T04:44:04.473 回答
1

供 unix 使用

name=`basename $1 ".c"`
于 2012-09-13T04:36:48.340 回答
0

看看你是否可以从下面的代码片段中继续前进。

pgm=test.c
echo ${pgm%%.*}
于 2012-09-13T04:33:25.410 回答