shell入门练习

**定义局部变量, 局部变量在退出Shell客户端时会失效**

**单引号:原样输出**
**双引号:如果里面有变量,会输出变量**
**没有引号:输出变量**


可以在调用脚本的时候给脚本传递参数,脚本内使用$1 $2 ...... 接受传递的参数,当参数超过9的时候,需要用花括号括起来 ${10}
特殊的调用参数:
$0:返回Shell文件名称
$$:当前脚本的PID
$#:传递的所有参数
$@:程序中的所有参数,这是将参数传递给其他程序的最佳方式。
$! :执行的上一个命令的PID
$?:上一次指令的返回值
$_:此命令前面的最后一个参数
$* :获取所有的参数



**使用sh命令启动的脚本,则在脚本结束其内部的属性都会消失,其他的脚本不能访问其内部的属性。
使用source 命令启动脚本,则在脚本结束后其属性不会失效,同时其他的脚本也能访问到。
经过验证,使用 ./ 也可以执行脚本
使用unset可以取消变量,这个变量包括环境变量和局部变量**


定义数组 array=(value1 value2 value3) array_name[0]=value0
读取数组${array_name[index]}
获取数组中全部的元素${my_array[@]}
获取数组的长度${#my_array[*]}
流程控制
if
如果else语句中没有执行语句,不可以写
if condition
then
command1
command2
...
commandN
fi ------------------ if condition
then
command1
command2
...
commandN
else
command
fi ------------
if condition1
then
command1
elif condition2
then
command2
else
commandN
fifor
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
donewhile
while condition
do
command
doneuntil
类似do-while循环,在最后判断条件,最少执行一次
until condition
do
command
donecase
case 值 in
模式1) command1 command2 ... commandN ;;
模式2) command1 command2 ... commandN ;; esac
函数
demoFun(){ // 定义
echo "这是我的第一个 shell 函数!"
}
echo "-----函数开始执行-----"
demoFun // 调用,如果需要传递参数直接在后面跟就好 demoFun 1 2 3
echo "-----函数执行完毕-----"
运算符
expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
expr 2 + 2使用方法 , 需要注意的为1.表达式和运算符之间要有空格 2. 需要用``引起来
关系运算符

使用方法
if [ $a -lt 100 -a $b -gt 15 ]
then
echo "$a 小于 100 且 $b 大于 15 : 返回 true"
else
echo "$a 小于 100 且 $b 大于 15 : 返回 false"
fi
逻辑运算符


shell入门练习的更多相关文章
- Linux shell入门基础(六)
六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...
- Linux shell入门基础(一)
Linux shell入门基础(一): 01.增加删除用户: #useradd byf userdel byf(主目录未删除) userdel -r byf 该用户的属性:usermod 用 ...
- Shell - 简明Shell入门
本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证. Shell - 简明Shell入门 01 - 第一个脚本 脚本的定义.执行方法以及echo命令 ...
- linux shell 入门
本文是本人学习linux shell入门收集整理,不完全原创. 参考博文: http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html ...
- shell 入门学习
目录 shell 入门学习 注释 执行与启动 变量 语法 调试 title: shell 入门学习 date: 2019/7/16 15:47:49 toc: true --- shell 入门学习 ...
- Shell入门02
Shell入门-02 1.重定向 标准输入(<) 标准输出 标准错误重回定向 程序 = 指令 + 数据 命令 变量 在程序中,数据如何输入?又如何输出? 数据输入:键盘 – 标准输入,但是并 ...
- Shell入门01
Shell入门 1.基于硬件的虚拟化 2.基于平台的虚拟化 3.基于服务的虚拟化 4.基于库的虚拟化 5.基于操作系统的虚拟化 管理员使用Shell程序与操作系统进行交互,之前学习的shell脚本都是 ...
- 自学linux——11.shell入门
shell 基础 1.shell介绍(内置脚本) 程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理) 语法简单,代码写起来比较轻松,简单易学 (1)什么是shell shell ...
- 10_Linux基础-SHELL入门1
@ 目录 10_Linux基础-SHELL入门1 一. 输入输出重定向 二. 2个特殊文件 三. here document 四. tee命令 五. 清空文件内容 六. SHELL入门 SHELL的变 ...
- Shell入门
前言 日常用Python多一些,不过很多时候shell脚本更简单实用一些,所以有必要熟悉一下shell脚本.当然shell有他特定的一些场景,比方说我曾经改过一个vpn断线自动重连的脚本,简单实用. ...
随机推荐
- java里面获取map的key和value的方法
获取map的key和value的方法分为两种形式: map.keySet():先获取map的key,然后根据key获取对应的value: map..entrySet():同时查询map的key和val ...
- 消除游戏源码 Match 3 Jewel Full 298 Levels
Match 3 Jewel Full 298 Levels 一款unity3d编写的消消乐游戏, 关卡丰富,很好玩 下载地址:点击下载
- Python开发【第三篇】:Python函数
set 无序,不重复,可嵌套. 函数 创建函数: 1.def关键字,创建函数 2.函数名 3.() 4.函数体 5.返回值 发邮件函数 def ...
- java 操作zookeeper
java 操作zookeeper(一) 首先要使用java操作zookeeper,zookeeper的javaclient 使我们更轻松的去对zookeeper进行各种操作,我们引入zookeeper ...
- 【Android内存泄漏检测】LeakCanary使用总结
一.什么是LeakCanary? LeakCanary就是用来检测Android端内存泄漏的一个工具.能够检测Activity的泄漏 什么是内存泄漏? Java 对象有时也会”长死不死“,GC 拿它没 ...
- django的request介绍和APIView流程分析和CBV的流程分析
首先get请求的数据都在request.GET中,request.body中没有,因为只有post请求有请求体,request.body中的数据是请求体的数据 首先,我们还是用cbv的方式来讲解 我们 ...
- linux详解sudoers
sudo使用 Linux是多用户多任务的操作系统, 共享该系统的用户往往不只一个.出于安全性考虑, 有必要通过useradd创建一些非root用户, 只让它们拥有不完全的权限; 如有必要,再来提升权限 ...
- android的图片的初步学习理解
Android支持JPEG和PNG格式.GIF和BMP格式图片的支持. 图片最终要显示在屏幕上,都会对应一个屏幕上的点,即对应一个颜色值.不同格式的图片,只是不同压缩编码和解压算法. 也就是说,我们看 ...
- [Java]Spring Ioc讲解,不怕你不懂
原文地址 引述:IoC(控制反转:Inverse of Control)是Spring容器的内核,AOP.声明式事务等功能在此基础上开花结果.但是IoC这个重要的概念却比较晦涩隐讳,不容易让人望文生义 ...
- Composer 安装以及使用方法
Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. Linux 下安装 curl -sS https://getcomposer.org/ ...