-bash: ./ceshi.sh: Permission denied
这通常是由于以下原因之一导致的:
执行权限不足:文件没有被设置为可执行权限。在Linux系统中,要执行一个文件,您需要将其设置为可执行权限。如果文件没有执行权限,您将无法直接运行它。
文件不在可执行路径中:如果文件所在的目录没有包含在系统的可执行路径中,您将无法直接通过文件名执行它。
为了解决这个问题,您可以尝试以下解决方案:
1. 添加可执行权限:
使用chmod命令为脚本文件添加可执行权限。打开终端并执行以下命令:
chmod +x ceshi.sh
/bin/bash^M: bad interpreter: No such file or directory
当您在Windows下编辑脚本文件并在Linux下打开时,可能会遇到行尾字符`\r`(回车符)的问题。这个字符在Linux系统中不被识别为有效的行尾符,因此会显示为`^M`。
您可以使用`sed`命令将这些回车符`\r`从文件中移除,使文件在Linux下正确显示和执行。以下是将回车符`\r`替换为空白的`sed`命令:
解决方案如下:
sed -i 's/\r$//' ceshi.sh
这条命令会在`check_tool.sh`文件中将每行末尾的`\r`替换为空白,从而解决在Linux下显示的问题。
另外,如果您使用`cat -A`命令查看文件,`^M`表示回车符`\r`。这个命令会将非打印字符以可见形式显示,以帮助您识别行尾符的问题。
总结一下,在Windows下编辑的脚本文件在Linux下打开时,可能会遇到以下问题:
1. 每行末尾多出一个`\r`字符。
2. 使用`cat -A`命令显示为`^M`,表示回车符。
为了解决这个问题,您可以使用`sed`命令将回车符`\r`替换为空白,使文件在Linux下正确显示和执行。