生信linux入门(二)shell脚本编程

生信linux入门(二)shell脚本编程

shell 是操作系统的最外层,可以合并编程语言以控制进程和文件,以及启动和控制其他程序。最常用的shell是bash,易用和免费。
shell脚本 == 命令的集合

1、认识shell脚本

// 登陆服务器后查看bash
(base) mordredll@DESKTOP-1L2C7BR:~$ echo $BASH
/bin/bash
// 创建一个shell脚本.sh是标准格式
(base) mordredll@DESKTOP-1L2C7BR:~$ vi first_shell.sh
// 进入first_shell.sh文件中
// 表明这是一个shell脚本
#!/bin/bash   
// 三行注释:文件名、内容描述、作者
#Filename : first_shell.sh
#auto echo hello world
#by Mordredll 2023-12-13
// echo打印,esc退出插入模式,shift+:输入wq保存内容
echo "Hello World!"
// 添加执行权限运行
(base) mordredll@DESKTOP-1L2C7BR:~$ chmod +x first_shell.sh
(base) mordredll@DESKTOP-1L2C7BR:~$ ./first_shell.sh
Hello World!
// 在自己环境中去运行
(base) mordredll@DESKTOP-1L2C7BR:~$ /bin/bash first_shell.sh
Hello World!
// sh执行
(base) mordredll@DESKTOP-1L2C7BR:~$ sh first_shell.sh
Hello World!

2、shell编程之变量

// 定义变量,引用变量加 $
name = mordredll
echo "My name is $name"
(base) mordredll@DESKTOP-1L2C7BR:~$ /bin/bash var.sh
My name is mordredll


// shell常见系统变量解析
$0 当前程序名称
$n 当前程序第n个参数
$* 当前程序的所有参数(不包括程序本身)
$# 当前程序的参数个数(不包括程序本身)
// 常用来判断上一个任务是否执行成功
$? 命令和程序执行完后的状态,一般返回0表示执行成功
$UID 当前用户的UID
$PWD 当前所在目录

// 系统变量不需要定义直接调用
echo $PWD
(base) mordredll@DESKTOP-1L2C7BR:~$ /bin/bash var.sh
/root
// 传参数mordredl进去
(base) mordredll@DESKTOP-1L2C7BR:~$ cat var.sh
echo $1
(base) mordredll@DESKTOP-1L2C7BR:~$ sh var.sh mordredl
mordredl
// 两位数变量的正确表示
echo ${12}
// 错误表示及输出
(base) mordredll@DESKTOP-1L2C7BR:~$ cat var.sh
echo $12
(base) mordredll@DESKTOP-1L2C7BR:~$ sh var.sh P1 P2 1 2 3 4 5 6 7 8 9 0 
// 输出$1的变量P1,加上字符串2
P12
// 显示颜色
echo -e '\033[32m---------------\033[0m'
// 0m改为1m之后下面所有的颜色都会变化
echo -e '\033[32m---------------\033[1m'

3、shell编程之if语句

// 判断大小用(( ))
(base) mordredll@DESKTOP-1L2C7BR:~$ cat if.sh
#! /bin/bash
#auto if test
#by mordredl 2023-12-13

num1=100
num2=200

if (( $num1 > $num2 ));then
	echo "$num1 greater $num2"
else
	echo "$num1 smaller $num2"
fi

(base) zhanglei@DESKTOP-1L2C7BR:~$ /bin/bash if.sh
100 smaller 200

// 逻辑运算符
// if [ -f filename ] 判断文件是否存在
// if [ -d dir ] 判断目录是否存在
// -eq 等于 应用于 整型比较
// -ne 等于 应用于 整型比较
// -lt 小于 应用于 整型比较
// -gt 大于 应用于 整型比较
// -le 小于或等于 应用于 整型比较
// -ge 大于或等于 应用于 整型比较
// -a 双方都成立(and)
// -o 单方成立(or)
// -z 空字符串
 
if [ ! -d /data/20231213 ];then
	mkdir -p /data/20231213
else
	echo "the dir is aleardy exist"
fi

// 多条件测试判断
#!/bin/bash
score=$1
if [ -z $score ];then
	echo "usage: { $0 60:80.}"
	exit
fi

if [[ $score -gt 85]];then
	echo "very good";
elif [[ $score -gt 75]];then
	echo "good";
elif [[ $score -gt 60]];then
	echo "pass";
else 
	echo "no pass"
fi

(base) zhanglei@DESKTOP-1L2C7BR:~$ /bin/bash if.sh 90
very good

(base) zhanglei@DESKTOP-1L2C7BR:~$ /bin/bash if.sh 60
pass

4、shell编程之for语句

// 1-100之间求和,变量赋值不能有空格,加法应该用反引号
(base) mordredll@DESKTOP-1L2C7BR:~$ vi for1.sh

#!/bin/bash
j=0
for ((i=1;i<=100;i++))
do
        j=`expr $i + $j`
done
echo $j

// 看脚本的执行过程
sh -x for1.sh 

// for循环读取文件
(base) mordredll@DESKTOP-1L2C7BR:~$ vi for2.sh
#!/bin/bash

for i in `cat list.txt`
do
	scp -r /tmp/test.txt root@$line:/tmp
done <list.txt
           

5、shell编程之while语句

// while循环
(base) mordredll@DESKTOP-1L2C7BR:~$ vi while1.sh

#!/bin/bash
i=0
while [[ $i -lt 10 ]]
do
        echo "the number is $i"
        ((i++))
done

// while循环
(base) mordredll@DESKTOP-1L2C7BR:~$ vi while2.sh

#!/bin/bash
i=0
while (( $i < 10 ))
do
        echo "the number is $i"
        ((i++))
done

// read 命令
(base) mordredll@DESKTOP-1L2C7BR:~$ read -p "please input number:" input
please input number:123
(base) mordredll@DESKTOP-1L2C7BR:~$ echo $input
123

// while 读取文件内容
(base) mordredll@DESKTOP-1L2C7BR:~$ vi while3.sh
#!/bin/bash

while read line
do
	scp -r /tmp/test.txt root@$line:/tmp
done <list.txt

// while 读取第二列内容
(base) mordredll@DESKTOP-1L2C7BR:~$ vi while3.sh
#!/bin/bash

while read line
do
ip=`cat $line |awk '{print $2}'`
	scp -r /tmp/test.txt root@$ip:/tmp
done <list.txt
  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在生信领域使用Linux系统,可以按照以下步骤进行安装: 1. 首先,选择一个合适的Linux发行版。在生信领域中,常用的发行版有Ubuntu、CentOS和Fedora等。你可以根据个人喜好和需求选择其中之一。 2. 下载所选发行版的镜像文件。你可以在官方网站上找到适用于你的计算机的镜像文件,并下载到本地。 3. 制作启动盘。将下载的镜像文件写入USB闪存驱动器或光盘,并制作成可启动的安装介质。 4. 将启动盘插入计算机,并重新启动计算机。在启动过程中,按下对应的按键(通常是F2、F10、F12或DEL),进入计算机的BIOS设置。 5. 在BIOS设置中,将启动顺序调整为从USB或光盘启动。保存设置并重新启动计算机。 6. 进入安装界面后,按照提示进行安装。选择合适的语言、时区和键盘布局等设置,并选择安装类型(建议选择完全安装)。 7. 在分区设置中,可以选择自动分区或手动分区。如果你对分区不熟悉,建议选择自动分区。 8. 设置用户名和密码,并等待安装完成。 9. 完成安装后,重新启动计算机,并使用你设置的用户名和密码登录系统。 10. 根据需要,安装生物信息学相关的软件和工具。你可以使用包管理器(如apt或yum)来安装所需的软件包。 安装完成后,你就可以开始在Linux系统上进行生信分析和开发工作了。记得定期更新系统和软件,以保持系统的安全性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值