使用 Ubuntu 进行多重筛选

Multiscreening with Ubuntu

我运行在我的 VPS 上安装一个 Half-Life 专用服务器,在 HLDS 中使用以下名为 startserver 的 bash 文件:

#!/bin/bash
screen -A -m -d -S hlds ./hlds_run -console -game valve -ip **ip address** -port 27015 +maxplayers 16 +map crossfire > /dev/null >&1 &

所以我输入 ./startserver,我的服务器是 运行ning。我不是这段代码的所有者,我只是复制了它。我试图让这段代码适用于 PHP 文件,我创建了一个名为 "test" 的目录,我有 "test.php" 代码,这样我就可以 运行 我的 php 通过键入 "php test.php" 文件,但我也需要 运行 在屏幕上显示它,因为我并不总是要 运行 putty 客户端。

我试图在我的 php 文件所在的目录中编辑代码,这就是我在里面得到的内容:

#!/bin/bash screen -AmdS phper php test.php > test.txt >&1 &

我应该在里面创建一个名为 "phper" 和 运行 的屏幕 test.php。所有文件都存在于目录中,但我遇到了这个错误:

/bin/bash: screen -AmdS phper php test.php > test.txt >&1 &: No such file or directory

我是不是做错了什么?

第一行错了,如果是一行

#!/bin/bash screen -AmdS phper php test.php > test.txt >&1 &

设置了可执行位的文本文件的第一行可能以“#!”开头来设置文件的解释器,称为Shebang。当你 运行 脚本并且有 shebang 时,linux 内核会识别它并以脚本名称作为参数启动解释器。

/bin/bash”后面不要加任何东西,否则会把它当作自己的参数来解析,而且没有bash参数"screen"也没有文件当前目录中的名称 "screen"(并带有 bash 脚本)。

因此,请尝试将 bash 放在第一行的 shebang 中,并将实际的 bash 脚本放在第二行:

 #!/bin/bash 
 screen -AmdS phper php test.php > test.txt >&1 &