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 $filename
telah diberi nilai yang benar. Yang ingin saya lakukan adalah menetapkan nama file ke variabel tanpa ekstensi.
basename $filename .exe
akan melakukan hal yang sama. Itu dengan asumsi Anda selalu tahu ekstensi apa yang ingin Anda hapus.