我的设置是我有一个网站(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
。