したがって、コードのこの部分があります。名前ファイルだけが空の場合は、「該当プレイヤーなし」を出力したいと思います。 test -sコマンドを使ってみましたが、ファイルが空であっても0が出力されたり出力されません。この問題をどのように解決しますか?
if [ $Target = m -o $Target = M ]
then
cut -c12-26,31-43 ./emplist > names
grep $Name ./names
if
**[ -s names ]**
then
:
else
echo "No such player"
fi
基本的にファイルに名前がある場合は、名前を出力するか、「該当プレイヤーなし」を出力したいと思います。ファイルに名前がない場合は、「該当プレイヤーがいません」が出力されます。
答え1
if [ "$Target" = m ] || [ "$Target" = M ];
then
cut -c12-26,31-43 emplist > names
fi
if grep -qFe "$name" names; then
echo "$name"
else
echo >&2 "No such player";
fi