繁体   English   中英

双击.desktop文件运行shell脚本以启动python脚本

[英]Run shell script by double clicking .desktop file to launch python script

我有一个名为script.py的python脚本我想双击script.desktop ,它将执行shell文件script.sh ,然后执行python文件: script.py

我的script.desktop文件包含:

[Desktop Entry]
Name=jobs
Comment=jobs
Exec=/home/user/Desktop/school_scrape/script.sh
Icon=/home/user/Desktop/school_scrape/icon.png
Terminal=true
Type=Application  

我的shell文件script.sh因此看起来像:

#!/bin/bash
echo "hi"
sleep 2m

我最终希望它执行script.py文件,在通过shell文件执行,但ITD意义首先得到它呼应hi第一

我甚至无法输出hi虽然在终端当我双击script.desktop它只是挂起没有错误。

首先,我想让它运行.desktop文件,运行.sh文件,并输出hi, 然后担心执行python文件。

知道我做错了什么吗?

script.sh

#!/bin/bash
echo "hi"

read

设置chmod +x script.sh并在console / terminal中手动尝试 - 您可能必须在开始时添加./来运行它

./script.sh

script.desktop

在Linux Mint系统中添加第一行#! - 所以也许它需要它。

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=jobs
Comment=jobs
Exec=/home/user/Desktop/school_scrape/script.sh
Icon=/home/user/Desktop/school_scrape/icon.png
Terminal=true
Type=Application  

设置chmod +x script.desktop并尝试单击它

script.py

#!/usr/bin/env python

print("Hello World!")

input()

设置chmod +x script.py并在console / terminal中手动尝试

./script.py

添加到script.sh - 更好的完整路径

#!/bin/bash
echo "hi"

/home/user/Desktop/school_scrape/script.py

(因为script.py有shebang并设置chmod +x所以你不必在script.sh使用python 。你甚至可以删除文件和脚本中的扩展名)

或直接在.desktop

脚本py.desktop

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=jobs-py
Comment=jobs-py
Exec=/home/user/Desktop/school_scrape/script.py
Icon=/home/user/Desktop/school_scrape/icon.png
Terminal=true
Type=Application  

设置chmod +x script-py.desktop并尝试单击它

您是否尝试在script.sh中插入以下行: python script.py

或者你可以使用命令使其可执行: chmod +x script.py并在script.sh中写入: ./script.py chmod +x script.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM