警告:

警告:

我的设置是我有一个网站(www.example.com),我已将 bash 脚本上传到 www.example.com/location/of/bash/script.txt

我现在想要一个桌面启动器(.desktop)文件,我可以使用它来打开终端,然后继续从网站运行脚本。到目前为止,我已经创建了一个 .desktop 文件,它可以打开终端,但无法从 URL 成功运行脚本。

我在 .desktop 文件中的命令是

gnome-terminal --execute bash -c "http:www.example.com/location/of/bash/script.txt" ; bash

当我单击 .desktop 文件时,它会打开,尝试运行脚本并给出错误“没有这样的文件或目录”,对此的任何帮助都将不胜感激。

答案1

同样简单而危险的是:

让你的桌面文件看起来像这样:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Sample Application Name
Comment=A sample application
Exec=sh -c 'curl -s http://www.example.com/path/to/script.sh | bash'
Icon=application.png
Terminal=true

这将产生一个子 shell,运行“curl”来读取文件,然后将其导入 bash。

答案2

我建议您编写一个脚本,该脚本通过两个步骤完成所有操作:下载原始脚本,然后在本地执行它。

像这样:

#!/bin/bash

#download , save as /tmp/script
wget -O /tmp/script.sh www.example.com/location/of/bash/script.txt
#give executable permissions
chmod +x /tmp/script.sh
# run it
gnome-terminal --execute bash -c "/tmp/script.sh; bash"

答案3

简单且危险的。危险吗?是的,见下文……

wget -q -O - http://www.example.com/location/of/bash/runhello | bash

bash <(curl -s http://www.example.com/location/of/bash/runhello)

wget或/curl和的其他组合bash


警告:

对于您自己的脚本来说,这也许是一个好主意,但对于其他人的脚本来说却不是:

检查脚本内容执行和绝不bash <(curl -s URL)以或 的方式运行脚本wget -q -O - URL | bash

相关内容