Bash 脚本仅适用于一个帐户

Bash 脚本仅适用于一个帐户

我是这里的新手,也是新的 linux/ubuntu 用户。我有一些装有 xubuntu 的 PC,但没有管理,所以我需要做的所有更改都必须在本地执行。目前,我们在操作系统中有两个用户 - 管理员和用户。用户配置为只能运行互联网浏览器,仅此而已。

现在我需要锁定一些设置,更新一些东西,等等。为此,我准备了一个 bash 脚本。我不得不说,我不是 bash 专家,我“写”的所有东西都是我在互联网上找到并修改过的,以便它们可以按照我想要的方式工作,但是……

我需要以用户身份执行它,因此我将其复制到桌面并运行苏管理员进而sudo sh脚本.sh终端显示代码有错误:

: not found: script.sh
: not found: script.sh
: not found: script.sh
script.sh 42: script.sh Syntax error: word unexcepted (excepting "in")

当我以管理员身份运行它时(以管理员身份登录后),它没有任何问题,所以我认为问题与代码本身无关。用户是否需要一些额外的权限,或者是否需要安装某些东西?这对我来说有点奇怪。

感谢您的任何回复。

答案1

我暂时还不能发表评论,所以我想写下答案。

就像 @steeldriver 建议的那样,你跑了文件命令,输出表明您的文件有“CRLF”行终止符。

运行dos2unix script.sh以转换行尾。

不要使用以下方式运行 Bash 脚本

此外,在调试模式下运行脚本可能会有帮助:

bash -x script.sh

如果您能分享这个输出就太好了。

相关内容