따라서 코드의 이 부분이 있습니다. 이름 파일만 비어 있으면 "해당 플레이어 없음"을 출력하고 싶습니다. 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