Aşağıdaki kodda sorun nedir?
name='$filename | cut -f1 -d'.''
Olduğu gibi, değişmez bir dize $filename | cut -f1 -d'.'alıyorum, ancak tırnakları kaldırırsam hiçbir şey alamıyorum. Bu arada, yazarak
"test.exe" | cut -f1 -d'.'
bir kabukta istediğim çıktıyı verir test,. Zaten $filenamedoğru değerin atandığını zaten biliyorum . Ne yapmak istiyorum uzantısı olmayan bir değişkene dosya adı atamaktır.
basename "$filename" .exe. Aksi takdirde boşluklu dosya adları kötü haber olur.
basename $filename .exeaynı şeyi yapardı. Bu, hangi uzantıyı kaldırmak istediğinizi her zaman bildiğinizi varsayar.