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断线自动重连的脚本,简单实用. ...
随机推荐
- vue bus 的使用
简单的状态管理,可以用vue bus vue bus可以实现不同组件间.不同页面间的通信,比如我在A页面出发点击事件,要B页面发生变化,使用方法如下: 全局定义:main.js window.even ...
- poj2912(带权并查集+枚举)
题目链接:http://poj.org/problem?id=2912 题意:给n个人,m组关系,玩石头剪刀布的游戏,n个人中除一个人judge以外,其他人属于3个group(即石头.剪刀.布),他们 ...
- Django项目之客户
关于客户的操作 主页(被继承) {% load static %} <!DOCTYPE html> <html lang="en"> <head> ...
- Compare Version Numbers(STRING-TYPE CONVERTION)
QUESTION Compare two version numbers version1 and version1.If version1 > version2 return 1, if ve ...
- 微信小程序开发——开发者工具中素材管理功能使用的注意事项
为什么使用“素材管理”: 微信小程序环境中本地资源图片是无法通过 WXSS 获取的,可以使用网络图片,或者 base64,或者使用<image/>标签.. 当然,如果不想这么麻烦,你可能会 ...
- vue 添加子路由,并对路由重定向
// 用户信息首页 { path: '/user/index', name: 'userIndex', component: userIndex, redirect: '/user/index/sho ...
- 如何禁止chrome自动跳转https
请在chrome的地址栏输入: chrome://net-internals/#hsts 在打开的页面中, Delete domain 栏的输入框中输入:xx.xx.com(注意这里是二级域名),然后 ...
- php 图像处理函数
gd_info 函数:获取当前安装的GD库的信息 getimagesize 函数:获取图像的大小 image_type_to_extension 函数:获取图像类型的文件后缀 ima ...
- webstorm 打包angular Module build failed: Error: No PostCSS Config found
angular创建项目后,在webstorm中启动时,报出如题错误,奇怪的是我从命令行启动(ng server)是没有问题的,多方寻求无果,在网上看到过说要加一个配置文件,我不信.我觉得是我配置哪里有 ...
- ios证书安装和打包流程
iOS开发流程 1.拿到源文件 2文件目录大致名字 一.证书配置 参考网站:http://www.jianshu.com/p/9d9e3699515e (证书配置参考地址) 准备工作 首先要有苹 ...