bash文件中出现意外的文件结尾

bash文件中出现意外的文件结尾,bash,Bash,运行bash脚本时,我会出现以下错误: ./hi.sh:第19行:语法错误:文件意外结束 这是我的密码: #/bin/bash #删除未经授权的用户 用于行输入。/unauthorized_users.txt;做 sudouserdel$line-y sudo rm-右上角“/主页/$line”-y #删除未经授权的软件包 用于行输入。/bad_packs.txt;做 sudo apt get remove$line-y sudo-apt-get-purge$line-y 请告诉我该怎么做。两

运行bash脚本时,我会出现以下错误:

./hi.sh:第19行:语法错误:文件意外结束

这是我的密码:

#/bin/bash
#删除未经授权的用户
用于行输入。/unauthorized_users.txt;做
sudouserdel$line-y
sudo rm-右上角“/主页/$line”-y
#删除未经授权的软件包
用于行输入。/bad_packs.txt;做
sudo apt get remove$line-y
sudo-apt-get-purge$line-y

请告诉我该怎么做。

两个“for”循环都需要关闭“done”

for line in file; do
    echo "$line" # do some stuff
done

其他bash构造(if、case等)也需要closing语句

两个'for'循环都需要closing'完成

for line in file; do
    echo "$line" # do some stuff
done

其他bash构造(if、case等)也需要结束语句

您没有用
完成
来结束
for
循环。检查循环构造的语法:

for bar in 1 2 3; do
   echo "$bar"
done
还要注意,您的代码不会在文件
/unauthorized_users.txt
的行上迭代。要从文件中读取行,请使用
而不是
循环:

while IFS= read -r line; do
   echo "$line"
done < your_file
而IFS=read-r行;做
回音“$line”
完成你的文件

您没有用
完成
关闭
for
循环。检查循环构造的语法:

for bar in 1 2 3; do
   echo "$bar"
done
还要注意,您的代码不会在文件
/unauthorized_users.txt
的行上迭代。要从文件中读取行,请使用
而不是
循环:

while IFS= read -r line; do
   echo "$line"
done < your_file
而IFS=read-r行;做
回音“$line”
完成你的文件

这就是整个脚本吗?你没有用
done
关闭
for
循环。请看一看:玩一个你不知道它到底做什么的脚本可能不是一个好主意,
sudo
…同样不相关,请在你执行
sudo rm-rf之前检查
$line
是否为空(
[“$line”]
)“/home/$line”-y
。这是整个脚本吗?您没有用
完成
来关闭
循环。请看一看:使用一个您不知道它具体做什么的脚本和
sudo
…也没有关系,请检查
$line
是否为空(
[“$line”]
),然后再执行
sudo rm-rf”/home/$line“-y