ファイル名をパラメータとして使用する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」)を処理するロジックが含まれています。