当前位置: 首页 > news >正文

ubuntu 新建脚本shell并增加图标 双击应用实现python运行

1.使用nano创建shell脚本文件

需要在终端窗口中输入“nano”以打开文本编辑器。

nano

在创建脚本文件前,我们要了解脚本文件是如何运行的:

直接运行:直接在终端直接输入需要运行的脚本文件名称,系统或用缺省版本的shell运行脚本程序。

命令提示符中指定某个特定shell版本如:$bash script_name ,创定一个特定版本的临时子shell(此例为bash)来运行脚本程序,script_name是脚本文件名,会逐行执行脚本命令并依次输出结果。当脚本文件中的命令依次执行完毕,该临时子shell也自动结束运行,返回到用户原来使用的shell状态。

在脚本文件开头指定一个将要使用的shell:在脚本文件开头增添

 #!/bin/bash

注意:#!必须顶格,后面接全路径,可以从/etc/shell中获得全部的可用shell及其绝对路径。
在这里我们运用第三种方式指定运行的shell。

在通常的shell脚本中,用井号(#)用作注释行,shell不会处理shell脚本中的注释行,但是第一行的#!/bin/bash是个例外。

在指定了shell后,就可以创建一个脚本,

#!/bin/bash
#This is a simple script.

完成上述命令后,按 CTRL + X 保存脚本并退出。之后,系统会要求您确认,然后会要求您为该文件命名。将把文件保存为“xxx.sh”。按“y”进行确认。到这里就成功创建了一个简单的脚本

2. 使用vim编辑shell脚本文件

需要用到文本编辑器来创建一个文件,一般常用vim来做

 sudo apt-get install vim

由于我们是想要运行python文件 所以要切换到py文件运行的命令行和代码所在的文件位置

由于我的py文件运行是在基础环境上的 所以要抑制anaconda 环境只是用系统环境

PATH=/usr/local/jdk-17.0.4.1/bin:/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/bin:/home/nvidia/.local/bin:/usr/local/jdk-17.0.4.1/bin:/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:.:cd xx/xx/xx   # 代码所在位置

详细见Unbtun环境切换-CSDN博客

3. 运行脚本

如果在以上步骤后直接在终端输入文件名来运行,结果并不能运行,要让shell找到“xxx.sh”脚本,通过chmod命令来该便脚本文件的运行权限:

sudo chmod +x yourfile.sh

要想双击sh脚本来进行运行,从而方便不熟悉ubuntu系统shell使用的用户来执行程序。sh脚本中可以是启动项目程序的代码,或者其它运维代码。

3.1 dconf-editor 安装

dconf可以说是ubuntu系统的注册表,类似windows上的注册表,保存系统的相关配置,而 dconf-editor 是 dconf 的一个图形化操作程序。

sudo apt-get install dconf-tools

3.2 配置dconf

gsettings set org.gnome.nautilus.preferences executable-text-activation ask

3.3 配置要双击的文件

首选为文件填加可执行权限

sudo chmod +x yourfile.sh

右击该文件,点属性properties,将Allow executing file as program选中。

3.4 双击执行

因为之前3.2中选的是ask,根据需求进行点击。如果是选的launch,就相当于直接点击上图中的run.
执行过程无显示无输出,人但会有点击

4. sh快捷方式生成与图标配置

为了实现能够直接双击执行,不需要多余操作,而且为了页面更加美观,增加一个图标设置

下面以ubuntu桌面为例:创建desktop文件

# 文件名建议与软件名一致
sudo vim /usr/share/applications/idea.desktop

新建文件 xxx.desktop, 然后编辑该文件; 如下信息:

[Desktop Entry]
Name=My Idea # 执行文件的名称
Comment=Idea Studio # 执行文件的描述
Exec=/opt/ideaIU-2018.3.6/idea-IU-183.6156.11/bin/xxx.sh # 执行文件的路径
Icon=/opt/ideaIU-2018.3.6/idea-IU-183.6156.11/bin/xxx.png # 执行文件的图标
Terminal=true  # 是否开启terminal
StartupNotify=true # 是否开启启动提示
Type=Application # 软件类型
Categories=Application;Development;

将其弄成“可信任”,对 idea.desktop点击右键“属性” 下的权限 执行栏 勾选 允许作为程序执行文件(E) 或者 sudo xxxx

# 设置权限为可执行
sudo chmod +x /usr/share/applications/idea.desktop

http://www.lryc.cn/news/501844.html

相关文章:

  • ANR 分析SOP
  • COLA学习之环境搭建(三)
  • CSS输入框动态伸缩动效
  • hbuilder 安卓app手机调试中基座如何设置
  • 探索视觉与语言模型的可扩展性
  • sock_recvmsg函数
  • HCIA笔记8--DHCP、Telnet协议
  • Scala的单例对象
  • 【笔记】分布式任务调度平台XXL-JOB
  • PDFMathTranslate,PDF多语言翻译,批量处理,学术论文,双语对照(WIN/MAC)
  • zerotier实现内网穿透(访问内网服务器)
  • Formality:set_svf命令
  • IDEA报错:无效的源发行版、无效的目标发行版
  • #渗透测试#红蓝对抗#SRC漏洞挖掘# Yakit插件使用及编写01
  • Scala中求斐波那契数列的第n项
  • ORACLE修改序列值为表内某字段(主键)最大值
  • 前端html,vue使用第三方地图详细教程,以百度地图为例,实现地图标注,导航,定位,路线规划,坐标转换
  • 【入门】加密四位数
  • [游戏开发] Unity中使用FlatBuffer
  • 云计算IaaS-PaaS-SaaS三种服务模式转至元数据结尾
  • 【数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
  • 代码随想录第43天
  • LeetCode - #158 用 Read4 读取 N 个字符 II
  • C++(进阶) 第2章 多态
  • mac删除程序坞(Dock)中“无法打开的程序“
  • 【Linux】vi/vim 使用技巧
  • Python自动化办公(系统维护及开发任务状态自动推送)
  • CentOS7 Apache安装踩坑
  • OpenMMlab导出MaskFormer/Mask2Former模型并用onnxruntime和tensorrt推理
  • 若依微服务中配置 MySQL + DM 多数据源