3天玩转shell--1.shell基础掌握

简介: 本文将通过shell代码示例,简单通俗的讲解shell。通过执行代码和运行结果反向掌握shell编程方法。准备一台低配的阿里云ECS Linux环境,跟着教程走起,本文比较适合shell小白。

一、这节课掌握如下几个知识点

【1】定义变量,设置环境变量
【2】打印执行结果、导入函数或变量
【3】获取命令执行返回的结果、获取命令的进程id
【4】掌握的shell参数的传递
【5】将结果保存到文件

二、通过如下代码片段掌握这部分知识

库函数:1.lib.sh,将该脚本复制到1.lib.sh并赋予执行权限:chmod +x 1.lib.sh。
#!/bin/bash
#1.lib.sh
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
export LANG=zh_CN.UTF-8
export PATH

word="I Love Shell"

PrintWord() {
  echo "Run PrintWord Function"
}
主执行脚本:1.sh,将该脚本复制到1.sh,和1.lib.sh相同目录下, 并赋予执行权限:chmod +x 1.sh。然后执行:bash 1.sh "aa" "bb"。根据脚本中的注释分析一下执行结果,如果需要加上调试过程:bash -x 1.sh "aa" "bb"。
#!/bin/bash
#shell脚本解释器的路径
#1.sh v1
#create by maoge

#系统变量,脚本定义好环境变量,能避免脚本执行中的坑
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
export LANG=zh_CN.UTF-8
export PATH


#打印输出
echo "hello"

#导入函数及变量
source ./1.lib.sh  #引入当前路径下的1.lib.sh中的变量或函数,引入的可以是任意符合shell规范的文件
echo $word  #输出1.lib.sh中的word变量的值
PrintWord   #执行1.lib.sh中的PrintWord函数

#定义变量
a1="Hello Word"
echo $a1     #直接输出定义的变量
a2=$(cat /etc/passwd|grep root)   #将执行的结果输出到变量
echo ${a2}  #打印执行结果

#获取本命令执行时的pid 进程id
df -h
echo $!   #输出执行df -h执行后的进程ID。
 
#重定向
echo "one" >/tmp/1.txt   #将结果one导出到1.txt,此时/tmp/1.txt中只有一行one,
echo "two" >>/tmp/1.txt  #将two追加到1.txt的末尾,此时/tmp/1.txt中有一行one,一行two

#获取上一条命令的执行结果
ls /tmp/1.txt  
echo $?  #执行成功返回0,返回非0 结果的均为失败,如果存在/tmp/1.txt  返回0,不存在返回非0的数字2

#读取传入的参数
echo $1
echo $2    #执行脚本:bash 1.sh "aa" "bb",则$1表示aa, $2表示bb
相关文章
|
存储 Shell Linux
Shell学习(六):shell工具
Shell学习(六):shell工具
159 0
Shell学习(六):shell工具
|
弹性计算 Shell Linux
3天玩转shell--10.shell编程技巧汇总
本文将通过shell代码示例,简单通俗的讲解shell。通过执行代码和运行结果反向掌握shell编程方法。准备一台低配的阿里云ECS Linux环境,跟着教程走起,本文比较适合shell小白。
123 0
|
Java Shell Linux
shell 基础
shell 基础
148 0
|
存储 Shell Linux
Shell学习(3)
Shell知识学习
117 0
|
Shell
Shell学习(2)
Shell学习笔记
129 0
|
Unix Shell Linux
Shell - 基础篇(上)
Shell - 基础篇(上)
114 0
Shell - 基础篇(上)
|
缓存 Shell Linux
Shell - 基础篇(下)
Shell - 基础篇(下)
74 0
Shell - 基础篇(下)
|
机器学习/深度学习 Shell Linux
|
Shell Linux C语言
shell 命令详解
引用:http://linux.chinaunix.net/doc/system/2005-02-03/1083.shtml shell是用户和Linux操作系统之间的接口。Linux中有多种shell,其中缺省使用的是Bash。
1006 0
下一篇
无影云桌面