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脚本入门基础知识的更多相关文章

  1. linux的基本操作(shell 脚本的基础知识)

    shell 脚本的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本 ...

  2. SHELL脚本编程基础知识

    SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...

  3. liunx shell 脚本的基础知识

    Shell脚本编程30分钟入门====================## 什么是Shell脚本### 示例看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell ...

  4. 1)Linux程序设计入门--基础知识

    )Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makef ...

  5. 【shell】shell脚本入门

    1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚 ...

  6. shell脚本编程基础

       最近学习了shell脚本编程,感觉自己的脚本写的不太好,所以想把shell脚本相关的知识系统的整理一下,便于以后的学习和使用. 一.shell脚本基础    shell脚本是利用shell的功能 ...

  7. React Native 入门基础知识总结

    中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看 ...

  8. Greenplum入门——基础知识、安装、常用函数

    Greenplum入门——基础知识.安装.常用函数 2017年10月08日 22:03:09 在咖啡里溺水的鱼 阅读数:8709    版权声明:本文为博主原创,允许非商业性质转载但请注明原作者和出处 ...

  9. Linux Shell脚本入门--cut命令

    Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...

随机推荐

  1. 14.JAVA-jar命令使用

    介绍 jar命令用来对*.class文件进行压缩,从而生成jar(archive)归档文件,避免文件过多. 定义一个文件: package common.demo ; public class Tes ...

  2. 第2章 TCP-IP的工作方式

    第2章 TCP-IP的工作方式 TCP/IP协议系统 为了实现TCP的功能,TCP/IP的创建者使用了模块化的设计.TCP/IP协议系统被分为不同的组件,每个组件分别负责通信过程的一个步骤.这种模块化 ...

  3. cout格式化输出 详解

    //在使用setf等库函数时使用 //在使用流操纵算子时使用 //using namespace std; //以下所有的setf()都有对应的unsetf()用于取消设置 //所有的setiosfl ...

  4. mathtype 章节号 Equation Chapter 1 Section 1 的去除

    mathtype 章节号 Equation Chapter 1 Section 1 的去除 转:http://hi.baidu.com/17ximm/blog/item/2882413e92fc96c ...

  5. JS案例练习 — 给div添加样式选择功能

    附加效果图: CSS内容: <style> ; padding:0px} li{list-style:none} body{font:24px 'Microsoft YaHei'; col ...

  6. apache日志设置

    转自:http://hi.baidu.com/bxhack/item/71025d3e65987d88b611db5e apache日志存放位置 Windows: <Apache安装目录> ...

  7. 企业常用的站内收索、QQ群、在线客服

    <div class="toplinks">            <form target="_blank">             ...

  8. ARM实验1 —— 流水灯实验

    实验内容: 编写GPIO模块程序,实现对FS_4412平台的上的led2,led3,led4 ,led5,的流水灯实现. 实验目的: 熟悉开发环境的使用. 掌握Exynos 4412处理器GPIO功能 ...

  9. 【mydigitallife.info】如何禁用Aero窗口自动最大化

    Go to Control Panel. Click on Ease of Access link or Ease of Access Center icon. Select Change how y ...

  10. 【BZOJ2730】[HNOI2012] 矿场搭建(找割点)

    点此看题面 大致题意: 一张无向图,要求你在去掉任意一个节点之后,剩余的每个节点都能到达一个救援出口,问至少需要几个救援出口. 第一步:\(Tarjan\)求割点 首先,我们要跑一遍\(Tarjan\ ...