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 # 代码所在位置
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