对此代码稍作修改即可。您可以将其放在自己的脚本中以供重用,如下所示:
#!/bin/bash
nlhit=""
for (( i=0; i<${#1}; i++ )); do
if [[ "${1:$i:1}" == $'\n' ]]; then
nlhit="1"
elif [[ "$nlhit" == "1" ]]; then
exit 1
fi
done
exit 0
然后,您可以像这样使用它(假设您命名了先前的脚本multiline-check.sh
):
#!/bin/bash
EMPTYLINE=""
BLANKLINE=" "
ONLYLINES="
"
MULTILINE="I have
more than one line"
SINGLE_LINE="I only have one line
"
SECOND_LINE="
I begin with a newline"
echo -n "EMPTYLINE Check: "
multiline-check.sh "$EMPTYLINE"
if [ $? -eq 1 ]; then echo "Yes"; else echo "No"; fi
echo -n "BLANKLINE Check: "
multiline-check.sh "$BLANKLINE"
if [ $? -eq 1 ]; then echo "Yes"; else echo "No"; fi
echo -n "ONLYLINES Check: "
multiline-check.sh "$ONLYLINES"
if [ $? -eq 1 ]; then echo "Yes"; else echo "No"; fi
echo -n "MULTILINE Check: "
multiline-check.sh "$MULTILINE"
if [ $? -eq 1 ]; then echo "Yes"; else echo "No"; fi
echo -n "SINGLE_LINE Check: "
multiline-check.sh "$SINGLE_LINE"
if [ $? -eq 1 ]; then echo "Yes"; else echo "No"; fi
echo -n "SECOND_LINE Check: "
multiline-check.sh "$SECOND_LINE"
if [ $? -eq 1 ]; then echo "Yes"; else echo "No"; fi