我想创建一个shell脚本,以便我可以输入
gc program_name.c
并达到与输入
相同的效果gcc -o program_name program_name.c
现在,我知道如何做到这一点,以便我只需输入gcc program_name
并获得效果:
gcc -o $1 $1.c
问题是我想使用制表符完成,这个方法要求我退格以删除扩展名。 (是的,这是一个picayune的事情,但我也有兴趣学习这种论证操纵背后的一般原理。)
换句话说,我希望能够让脚本删除尾随扩展名。我猜我可以使用另一个变量,但我不知道如何说,例如,$ name = $ 1 减去尾随扩展名。
感谢。
答案 0 :(得分:2)
#!/bin/bash
exec gcc -o "${1%.c}" "$1"
答案 1 :(得分:1)
使用unix
name=`basename $1 ".c"`
答案 2 :(得分:0)
看看您是否可以从以下代码段中继续前进。
pgm=test.c
echo ${pgm%%.*}