bash文件中出现意外的文件结尾
运行bash脚本时,我会出现以下错误: ./hi.sh:第19行:语法错误:文件意外结束 这是我的密码: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 请告诉我该怎么做。两
#/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
。