1

入力できるようにシェルスクリプトを作成したい

gc program_name.c

入力した場合と同じ効果が得られます

gcc -o program_name program_name.c

これで、これを行う方法がわかったので、入力gcc program_nameして効果を得ることができます。

gcc -o $1 $1.c

問題は、タブ補完を使用したいのですが、この方法ではバックスペースを使用して拡張機能を削除する必要があることです。(はい、それはピカユネのことですが、この種の引数操作の背後にある一般原則も学びたいと思っています。)

つまり、スクリプトで末尾の拡張子を削除できるようにしたいと考えています。別の変数を使用できると思いますが、たとえば、 $name = $1から末尾の拡張子を引いた.

ありがとう。

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 に答える