参考:生信技能树

执行脚本放到java项目路径下怎么读取 执行脚本sh_下怎么运行sh脚本

执行脚本放到java项目路径下怎么读取 执行脚本sh_vim_02

类似R里的Rstudio

执行脚本放到java项目路径下怎么读取 执行脚本sh_执行脚本放到java项目路径下怎么读取_03

不存在的文件, vim就会创建

vim file.txt

进入命令模式

执行脚本放到java项目路径下怎么读取 执行脚本sh_下怎么运行sh脚本_04

按一下键盘i : 输入模式

执行脚本放到java项目路径下怎么读取 执行脚本sh_vim_05

按ESC键,返回命令模式

退出,按 shift + : 进入底线命令模式

可以看到光标

执行脚本放到java项目路径下怎么读取 执行脚本sh_bash_06

按wq : w是保存,q是退出

执行脚本放到java项目路径下怎么读取 执行脚本sh_下怎么运行sh脚本_07

就回到正常的命令行模式

执行脚本放到java项目路径下怎么读取 执行脚本sh_下怎么运行sh脚本_08

cat查看一下 我们写的文件

执行脚本放到java项目路径下怎么读取 执行脚本sh_执行脚本放到java项目路径下怎么读取_09

bash可以运行里面的代码,里面的shell语言语法

bash file.txt

执行脚本放到java项目路径下怎么读取 执行脚本sh_执行脚本放到java项目路径下怎么读取_10

shell 脚本:为了和普通文本文件区分开,通常shell脚本都
会以 .sh 为后缀名 。

我们现在就改一下名

mv file.txt file.sh

执行脚本放到java项目路径下怎么读取 执行脚本sh_执行脚本放到java项目路径下怎么读取_11

Vim 编辑器:vimtutor zh_CN 可以查看帮助文档 

执行脚本放到java项目路径下怎么读取 执行脚本sh_下怎么运行sh脚本_12

怎么退出呢?

按ESC进入命令模式,按shift + : 进入底线模式,然后输入 wq 退出

执行脚本放到java项目路径下怎么读取 执行脚本sh_bash_13

怎么样规范性写shell脚本?

vim test.sh

一般第一行,是声明一下,指定解释器,让别人知道 怎么运行吧

比如这里声明用bash

执行脚本放到java项目路径下怎么读取 执行脚本sh_bash_14

退出

按ESC进入命令模式,按shift + : 进入底线模式,然后输入 wq 退出

bash一下运行

bash test.sh

执行脚本放到java项目路径下怎么读取 执行脚本sh_下怎么运行sh脚本_15

标准输出流,标准误输出流

执行脚本放到java项目路径下怎么读取 执行脚本sh_命令模式_16

初学者简单理解为:1是正确输出, 2是错误输出

这里重新写一下file.sh文件

故意写一句正确命令,第一句错误命令

bash后提示第二句执行不了

执行脚本放到java项目路径下怎么读取 执行脚本sh_命令模式_17

我们可以把正确输出 和 错误输出重定向到2个文件里

bash file.sh 1>1.log 2>2.log

cat查看一下

1.log(保存的是正确输出), 2.log (保存的是错误输出)

执行脚本放到java项目路径下怎么读取 执行脚本sh_执行脚本放到java项目路径下怎么读取_18

如果想把正确输出、错误输出保存在一起

bash file.sh 1>1.log 2>&1

没有道理可讲的写法

执行脚本放到java项目路径下怎么读取 执行脚本sh_vim_19

注意:如果1.log文件里面本来有内容,会被覆盖掉

修改权限

Shell 脚本:修改shell脚本的文件权限后,可以全路径调用 

执行脚本放到java项目路径下怎么读取 执行脚本sh_vim_20

查看权限

ll test.sh

执行脚本放到java项目路径下怎么读取 执行脚本sh_bash_21

修改权限

chmod 764 test.sh

764表示: 

7=4+2+1 可读、可写、可执行

6=4+2    可读、可写

4            可读

执行脚本放到java项目路径下怎么读取 执行脚本sh_bash_22

Shell 脚本:参数传递

新建个脚本

vim file2.sh

第一行是指定bash,声明一下,规范化操作

第二行是 cat $1

执行脚本放到java项目路径下怎么读取 执行脚本sh_下怎么运行sh脚本_23

cat file2.sh readme.txt

这时候会查看readme.txt内容, 所以$1指的就是readme.txt位置

执行脚本放到java项目路径下怎么读取 执行脚本sh_命令模式_24

执行脚本放到java项目路径下怎么读取 执行脚本sh_bash_25

假如有个程序sleep 60,  就是等60s

vim file.sh

执行脚本放到java项目路径下怎么读取 执行脚本sh_bash_26

挂载

nohup bash file.sh &

执行脚本放到java项目路径下怎么读取 执行脚本sh_vim_27

数字1774是pid (不懂)

提示,结果输出在nohup.out

查看后台任务

ps -ef | grep sleep

执行脚本放到java项目路径下怎么读取 执行脚本sh_命令模式_28

如果不想运行kill : 杀掉进程

kill 1774