我有一个名为script.py
的python脚本我想双击script.desktop
,它将执行shell文件script.sh
,然后执行python文件:{{1 }}
我的script.py
文件包含:
script.desktop
我的shell文件[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
如下所示:
script.sh
我最终希望它在通过shell文件执行时执行#!/bin/bash
echo "hi"
sleep 2m
文件,但首先让它首先回显script.py
我甚至无法输出hi
虽然在终端中,当我双击hi
它只是挂起而没有错误。
首先,我希望只运行运行script.desktop
文件的.desktop
文件,然后输出hi,然后担心执行python文件。
知道我做错了什么?
答案 0 :(得分:1)
<强> script.sh 强>
#!/bin/bash
echo "hi"
read
设置chmod +x script.sh
并在控制台/终端中手动尝试 - 您可能必须在开始时添加./
才能运行它
./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
,所以您不必在python
中使用script.sh
。您甚至可以删除文件中的扩展名脚本)
或直接在.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
并尝试点击
答案 1 :(得分:0)
您是否尝试在script.sh中插入以下行:python script.py
或者您可以使用命令chmod +x script.py
使其可执行,只需在script.sh中写入:./script.py