bash:条件の問題の場合

bash:条件の問題の場合

ディレクトリで.c(Cファイル)で終わるすべてのファイルに対していくつかの操作を実行してください。コードは次のとおりです

#!/bin/sh
clear
for file in *
do
    if [ $file="*.c" ]
    then
        echo $file
    fi
done
exit 0

動作しません。ただ、すべてのファイルとディレクトリを一覧表示します。

ベストアンサー1

onの条件付き書式が正しくありません。文字列が空でないことをif確認するだけです。$file=*.c次に変更してみてください。

#!/bin/sh
clear
for file in *
do
    if [ "$file" = "*.c" ]
    then
        echo "$file"
    fi
done
exit 0

一方、この場合、エンコードされた文字「*」は機能しませんが、文字列として解釈されます。

努力する:

#!/bin/sh
clear
for file in *.c
do
    echo "$file"
done
exit 0

おすすめ記事