shell腳本test命令沒用好,寫了好幾天的代碼全被刪了

在桌面上有一堆.cpp和elf文件以及shell腳本,我想寫一個腳本刪除所有的elf文件

#!/bin/bash
for filename in `ls`
do
    file $filename | grep ELF;
    if [ $? ]; then
        rm $filename
    fi
done

結果所有文件都被刪除了,原因是 [ 0 ]是true,[ 1 ]也是true,應該寫成if [ $? == 0 ]

寫C語言寫習慣了,if裏面可以不加==0,然後就虧大了。

發佈了31 篇原創文章 · 獲贊 11 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章