前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux shell脚本编程

Linux shell脚本编程

原创
作者头像
可乐同学与生信死磕到底
发布2024-04-23 21:33:53
1020
发布2024-04-23 21:33:53
举报

这一部分内容和软件安装有部分重叠

(关于变量和环境变量)

1 Linux系统环境

  • 文件系统结构:一切皆文件 / 虚拟目录的根目录,通常不会在这里存储文件 /bin 二进制目录,存放许多用户级的GNU工具 /home 主目录,Linux在这里创建用户目录 /lib 库目录,存放系统和应用程序的库文件 /media 媒体目录,可移动媒体设备的常用挂载点

Linux系统一般有4个主要部分:内核、shell、文件系统、应用程序

查看CPU信息:lscpu

查看内存信息:free -h

查看硬盘信息:df -h

查看文件大小:du -h -d 1/du -sh ~

查看系统进程与任务:

top(htop)

ps -ef

jobs

2 变量

调用变量时,要在变量前加一个$

2.1 环境变量

用于存储有关shell会话和工作环境的系统变量

常见环境变量见上一篇笔记

2.2 位置参数变量

用于向命令或程序脚本中传递信息

$n:n为数字

$0代表命令本身

$1~$9代表第1~9个参数

10以上的参数需要用大括号包含,如${10}

2.3 状态变量

用于记录命令的运行结果

$?:获取执行上一个指令的执行状态返回值,返回0表示上一个命令或程序执行成功,返回的值非0表示上一个命令执行失败

2.4 自定义变量

由用户自行定义的变量

可用于用户编写的脚本,多个命令间的值传递等

= 前后不要有空格

在单引号中,变量不会被解释

双引号中,变量被解释

因此在使用文本处理三驾马车时都用'?',awk要直接接收到$1?$2?$3,如果用" "?$1会被shell提前展开

3 结构化语句

3.1 if条件语句

3.1.1 if条件语句的常见格式:

if进入 fi退出

3.1.2 if条件语句的常见条件

3.1.2.1 数值判断

equal: INT1 -eq INT2

两数相等返回为真

INT2和]之间也有空格!

每一个空格都要打出来!

常用:判断上一个命令是否执行成功?

3.1.2.2 字符串判断

-z STRING 如果STRING的长度为零返回为真 空为真

3.1.2.3 文件判断

!取反

3.2 for循环语句

3.2.1 for循环语句的常见格式

代码语言:sh
复制
for i in list
do
commands
done

变量要加{ },否则容易分辨不出变量

  • 如何能打印出gene1?

list的三种方法:

1.直接写出list

2.先定义一个list变量

3.可以用命令生成,注意加反引号代表命令优先被执行

3.3 while循环语句

3.3.1 while循环语句的常见格式

代码语言:sh
复制
while read id
do
commands
done

3.3.2 参数扩展

作用:掐头去尾

一般来说,去尾比掐头更常用

%常用

注意. *的相对位置

  • 练习题

一个> 重定向 会把里面的内容清空

两个>> 表示追加

第2题先把结尾的.sra删除再加上.fastq完成替换

4 shell 脚本编程

env调用当前环境下激活的编译器

shell脚本:修改shell脚本的文件权限后,可以直接通过路径调用(充当command的作用)

file1.sh变成可执行文件,可以当作一个命令直接执行

这个命令是否在环境变量中?

不在环境变量中可通过路径来调用

复习之前的421

shell脚本:参数传递

通过位置参数可以重复利用脚本

fq2fa.sh脚本完成格式转换

shell脚本提交

1:标准输出流

2:标准误输出流

报错也和1一起输出

重点:任务提交

使用PS找出PID

-9 现在马上立刻无条件停下来这个任务

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Linux系统环境
  • 2 变量
    • 2.1 环境变量
      • 2.2 位置参数变量
        • 2.3 状态变量
          • 2.4 自定义变量
          • 3 结构化语句
            • 3.1 if条件语句
              • 3.1.1 if条件语句的常见格式:
              • 3.1.2 if条件语句的常见条件
            • 3.2 for循环语句
              • 3.2.1 for循环语句的常见格式
            • 3.3 while循环语句
              • 3.3.1 while循环语句的常见格式
              • 3.3.2 参数扩展
          • 4 shell 脚本编程
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
          http://www.vxiaotou.com