-bash: ./ceshi.sh: Permission denied 和 /bin/bash^M: bad interpreter: No such file or directory

-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下正确显示和执行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝兔兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值