shell脚本入门基础知识
shell 脚本的第一行
#!/bin/bash
#!/bin/sh 其实,sh是bash的一个软链接 sh -> bash
变量,字母下划线开头(好像是没有类型的)
#普通变量
var1=nihao #不能有空格
echo $var1 #使用$表示变量
#环境变量
echo $JAVA_HOME #全局变量用全大写
/etc/profil/e #全局环境变量存储位置
#用户环境变量
/home/cen/.bash_profile #编辑文件后需要用source命令更新
#删除变量
unset 变量名
位置参量,用于传递参数
#定义位置参量
echo "Hello $1 !!" #用$1,$2....${10},${11} ...表示接受到的第n个参数
#$0 表示当前脚本的文件名
#$# 表示传入参数个数
#$? 上一个命令的状态嘛,有一些依赖关系必须知道之前的执行情况
#传入参数
./xxx.sh 参数一 参数二 #用空格分隔位置参数,如果位置参数有空格,使用"hello world!"
数组
#数组定义
arr=(zhangsan lisi wangwu)
#数组引用
echo ${arr[0]} #zhangsan
echo ${arr[*]} #zhangsan lisi wangwu
echo ${#arr{*}} #3
查看时间
#当前时间
date1=$(date)
#一天前
date2=$(date --date='1 days age')
date2=$(date --date='1 days')
#一天后
date3=$(date --date='1 days')
date3=$(date --date='-1 days ago')
判断test -e filename 或者 [ -e filename ] []两端一定要有空格
#文件类型判断
#-e 判断文件是否exist
#-f 是否为file
#-d 是否为dir
#权限判断
#-r 可读
#-w 可写
#-x 可执行
#判断整数
#-eq equal 相等
#-ne not equal 不相等
#-gt greater than 大于
#-lt less than 小于
#判断字符串
#-z zero 空字符串
#-n not 非空
#=/== 相等
#!= 不等
if语句
if [ -f "filename" ] && [ -e "filename" ] ; then
#todo...
#todo...
elif [ -e "filename" ]
#todo...
else
#todo...
fi
for循环
#for循环(1)
for var in 1 2 3 4 5
do
#todo...
done
#for循环(2)
n=10
sum=0
sum2=0
for((i=0;i<${n};i=i+1))
do
sum=$((${sum1}+$(i))) #正儿八经的加法
sum2=${sum2}+${i} #字符串拼接
done
while循环
#正经点while
while [ -e "filename" ]
do
#todo...
done
#当到型while
until [ -e "filename" ]
do
#todo...
done
#配合cat和管道函数的while(不会应用场景)
cat a.txt | while read line
神奇的$符号
${变量}
$(可执行语句) #(1+1)带括号的才是可执行语句
执行shell脚本的四种方式
$/home/user/xxx.sh
$./xxx.sh
$. xxx.sh
$sh xxx.sh
shell脚本入门基础知识的更多相关文章
- linux的基本操作(shell 脚本的基础知识)
shell 脚本的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本 ...
- SHELL脚本编程基础知识
SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...
- liunx shell 脚本的基础知识
Shell脚本编程30分钟入门====================## 什么是Shell脚本### 示例看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell ...
- 1)Linux程序设计入门--基础知识
)Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makef ...
- 【shell】shell脚本入门
1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚 ...
- shell脚本编程基础
最近学习了shell脚本编程,感觉自己的脚本写的不太好,所以想把shell脚本相关的知识系统的整理一下,便于以后的学习和使用. 一.shell脚本基础 shell脚本是利用shell的功能 ...
- React Native 入门基础知识总结
中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看 ...
- Greenplum入门——基础知识、安装、常用函数
Greenplum入门——基础知识.安装.常用函数 2017年10月08日 22:03:09 在咖啡里溺水的鱼 阅读数:8709 版权声明:本文为博主原创,允许非商业性质转载但请注明原作者和出处 ...
- Linux Shell脚本入门--cut命令
Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...
随机推荐
- ElasticSearch之QueryBuilders
1.termsQuery A filer for a field based on several terms matching on any of them 翻译过来:基于以下几个方面对其中任何匹配 ...
- Web框架的应用
从今天开始,我们将要学习有关Web框架的一些内容,在学习之前先来学习一下http协议,即基于http是如何通信的. http 概要:http是基于tcp/ip通信协议来传输数据的. 优点: 1.简单快 ...
- 洛谷P1397 [NOI2013]矩阵游戏(十进制矩阵快速幂)
题意 题目链接 Sol 感觉做这题只要对矩阵乘法理解的稍微一点就能做出来对于每一行构造一个矩阵A = a 1 0 b列与列之间的矩阵为B = c 1 0 d最终答案为$A^{n - ...
- mysql5.6.31安装及配置
1,下载安装包解压到安装位置.下载地址https://dev.mysql.com/downloads/mysql/5.6.html#downloads 2,修改默认配置文件 在根目录下面有my-def ...
- SQL 语句 使用附加和分离
use mastergo declare @flg int --返回0表示成功 否则表示失败declare @msg varchar(50) --显示成功或失败的消息declare @dbname v ...
- svn项目权限控制
[groups] g_manager = zhangsan g_php = lisi g_test = wangwu [/] @g_manager = rw [project:/] @g_manage ...
- CSS第二节
div做页面布局的建议 把整个网页从上到下分成若干块(一般分三块:头,中间,尾部),每一块都按下面的思路 先写第一层,可以设置背景色,或者高度和垂直居中(line-height保证内容不超出高度),不 ...
- java Vamei快速教程13 String类
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前的Java基础系列中讨论了Java最核心的概念,特别是面向对象的基础.在Jav ...
- StackOverflow之旅<1>------{去掉烦人的"!=null"判断}
问题 为了避免空指针调用,我们经常会看到这样的语句 if (someobject != null) { someobject.doCalc(); } 最终,项目中会存在大量判空代码,多么丑陋繁冗!如何 ...
- Mac 系统 + Chrome浏览器 网页前端出现中文文字反转或顺序错乱
问题背景 React开发的系统,收到一个BUG反馈,*"号个人统计"文字不正确,应为"个人号统计"*. 收到BUG后,打开浏览器查验是什么情况,难道犯了最基本的 ...