生信分析_2


Linux Bash

在介绍bash之前,需要先介绍它的起源——shell。shell俗称壳,它是指UNIX系统下的一个命令解析器;主要用于用户和系统的交互; bash,全称为Bourne-Again Shell。它是一个为GNU项目编写的Unix shell

详见linux bash

  • echo 参数

    echo -e 处理特殊字符

    若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
    \a 发出警告声;
    \b 删除前一个字符;
    \c 最后不加上换行符号;
    \f 换行但光标仍旧停留在原来的位置;
    \n 换行且光标移至行首;
    \r 光标移至行首,但不换行;
    \t 插入tab;
    \v 与\f相同;
    \ 插入\字符;
    \nnn 插入nnn(八进制)所代表的ASCII字符;

  • ${ }

    关于linux shell 中$的用法详见$ & 切分文件名提取文件扩展名或提取文件名

    示例

      $ A=B
      $ echo $AB
      原本是打算先将 $A 的结果替换出来,然后再补一个 B 字母于其后,
      但在命令行上,真正的结果却是只会提换变量名称为 AB 的值出来…
      若使用 ${ } 就没问题了:
      $ echo ${A}B
      BB
      #!/bin/bash
      #提取文件名,删除后缀。
    
      file_name="text.gif"
      name=${file_name%.*}
      echo file name is: $name
    
      输出结果:
      file name is: test
  • if判断语句

    示例: 提示用户输入值。若输入的值小于0,则输出“negtive number”;若等于0,则输出“number zero”,否则,输出“positive number”。

      #!/bin/bash
    
      # 提示用户输入一个值
      echo -n "please input a number:"
    
      # 保存用户输入的值到num中
      read num
    
      if [ "$num" -lt "0" ];then
      # 小于0,则输出“negtive number”
      echo "negtive number"
      elif [ "$num" -gt "0" ];then
      # 大于0,则输出“positive number”
      echo "positive number"
      else
      # 大于0,则输出"number zero"
      echo "number zero"
      fi
    
      exit 0

    注意: []中的语句一定要与中括号两端有空格, 否则会报错

  • for循环

    • 基本格式

      for 变量名in列表

      do

      命令1

      命令2…

      done

      格式说明

      当变量值在列表里, for循环即执行一次所有命令,使用变量名访问列表中取值。命令可为任何有效的 shell命令和语句。变量名为任何单词。 in列表用法是可选的,如果不用它, for循环使用命 令行的位置参数。

    • 示例:

      输入当前文件夹的一级子目录中文件名字。

#!/bin/bash

# 将ls的结果保存到变量CUR_DIR中
CUR_DIR=`ls`

# 显示ls的结果
echo $CUR_DIR

for val in $CUR_DIR
do
# 若val是文件,则输出该文件名
if [ -f $val ];then
echo "FILE: $val"
fi
done

exit 0

注意: ls中的引号是反引号``

  • 使用break和continue控制循环

    • 基本格式

      break命令允许跳出循环。 continue命令类似于 break命令,只有一点重要差别,它不会跳出循环,只是跳过这个循环步

    • 示例:

       从0开始逐步递增,当数值等于5时,停止递增。Bash脚本内容如下:

文章作者: 张忠楠
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张忠楠 !
评论
 上一篇
R_基础1 R_基础1
详见R basics Homework 用R语言实现以下的任务描述,作业提交一个word文档,包含实现下列步骤的R代码和每一步输出结果的截图。 安装vcd包(一个用于可视化类别数据的包) 列出此包中可用的函数和数据集。 载入这个包并阅
2020-05-05
下一篇 
生信分析_1 生信分析_1
practice guide - linux 本章内容主要是学会用Linux的一些简单编程方法去查看GTF/GFF基因组注释文件的基本信息,并学会对文件中数据进行提取,利用提取到的数据计算特定feature(例如计算基因积累长度等)。
2020-05-03
  目录