1

我尝试在 linux 中通过 SSH 在 Synology 服务器上创建脚本

所以我写了一个文件 test.sh

#!/bin/bash
echo "this is a test"

我保存了文件。之后我做了

chmod 755 test.sh

我做的

./test.sh

然后我得到了这个错误

-ash "./test.sh" is not found

该文件是在

/root

我不明白

4

2 回答 2

3

您的外壳(灰烬?)正在尝试执行您的脚本并且正在ENOENT返回(没有这样的文件或目录)错误代码。这可以指脚本本身,但在这种情况下,它指的是#!行中指定的解释器。

也就是说,/bin/bash不存在,这就是脚本无法启动的原因。

解决方法:安装 bash 或(如果您不需要任何 bash 特定功能)将第一行更改为#!/bin/sh.

于 2015-09-29T21:15:58.233 回答
1

这是哈希爆炸程序的怪癖之一。如果没有找到解释器/bin/bash: no such file(即解释脚本的程序) ,你不会得到像test.sh: not found.

如果这不在Unix Hater's Handbook中,它应该是。:-)

您可以使用#!/bin/shor#!/path/to/bash#!/usr/bin/env bash(在 PATH 中搜索 bash)。

于 2015-09-29T21:14:41.450 回答