Linux UNIX:意外的文件结尾
我有一个问题,编辑器报告没有问题,但当我在终端中运行它时,它报告:意外的文件结束 我要做的是获取它,这样当这个脚本运行时,它会更改权限,以便每个人都可以执行该文件 我正在Windows计算机上编写文件脚本:Linux UNIX:意外的文件结尾,linux,unix,Linux,Unix,我有一个问题,编辑器报告没有问题,但当我在终端中运行它时,它报告:意外的文件结束 我要做的是获取它,这样当这个脚本运行时,它会更改权限,以便每个人都可以执行该文件 我正在Windows计算机上编写文件脚本: #!/bin/bash file=~\scripts\chmxtextfile.txt if [[ -e "$file" ]]; then {chmod ugo+x $file} elif [[ ! -e "$file" ]]; then echo "File doesn
#!/bin/bash
file=~\scripts\chmxtextfile.txt
if [[ -e "$file" ]];
then {chmod ugo+x $file}
elif [[ ! -e "$file" ]];
then echo "File doesn't exist"
fi
在
{
之后需要空格,在}
之前需要分号。在*nix上的文件路径是/分隔的,不\n不用麻烦检查是否存在,只需运行chmod
。如果文件不存在,chmod
将为您发出错误消息。您说您正在Windows上编写脚本,但标记为Linux和Unix。这是否意味着你在剧本中有CRLF行结尾,它们会引起悲伤?此外,反斜杠是Unix ish环境的常规用法,在Windows上可以使用/
而不是`。至少要小心使用反斜杠。注意
elif`可以是简单的else
;只有在第一次和第二次测试之间文件的存在状态发生变化时,才会出现意外结果。编写的代码不需要分号;如果然后
出现在行中,则需要使用它们。您应该在chmod ugo+x“$file”
中双重引用文件名。