Apa yang salah dengan kode berikut?
name='$filename | cut -f1 -d'.''
Sebagaimana adanya, saya mendapatkan string literal $filename | cut -f1 -d'.', tetapi jika saya menghapus tanda kutip, saya tidak mendapatkan apa pun. Sementara itu, mengetik
"test.exe" | cut -f1 -d'.'
dalam shell memberi saya output yang saya inginkan , test. Saya sudah tahu $filenametelah diberi nilai yang benar. Yang ingin saya lakukan adalah menetapkan nama file ke variabel tanpa ekstensi.
basename $filename .exeakan melakukan hal yang sama. Itu dengan asumsi Anda selalu tahu ekstensi apa yang ingin Anda hapus.