linux bash 入门
#!/bin/bash #shell使用的熟练成都反映用户对Unix/Linux使用的熟练程度
#shell 有两种执行命令的方式:交互式和批处理
#常见的shell脚本解释器有bash,sh,csh等等
#chmod +x ./hello.sh #使脚本具有执行权限
#./hello.sh #执行脚本 #交互输入
echo "whats your name?"
read person
echo "hello,$person" #变量 定义不加$,引用要加$
myname="shiqing"
echo ${myname} #特殊变量
echo "filename:$0"
echo "first parameter:$1"
echo "second parameter:$2"
echo "all parameter:$@"
echo "all parameter:$*"
echo "total number of parameters:$#" #命令替换 ~下 `command`
USERS=`who | wc -l`
echo "Logged in user are $USERS“ #返回这个脚本文件放置的目录 cd `dirname $0`
echo `pwd` #表达式,原生bash不支持简单的数学运算,expr 是一种表达式计算工具
val=`expr + `
echo "value is $val"
a=
b=
val=`expr $a \* $b`
echo "a * b: $val" #字符串
str="abcd"
echo ${#str}
echo ${str::} #数组
arr=(a,b,c,d)
echo "first :${arr[0]}"
echo "all:${arr[*]}" #获取所有元素
echo "length:${#arr[*]}" #获取数组长度 #if...elif...else...,条件表达式要放在方括号之间,并且要有空格
a=
b= if [ $a == $b ]
then
echo "a is equal to b"
elif [ $a -gt $b ]
then
echo "a is g reater than b"
else
echo "a is less than b"
fi #case ...easc...
echo 'Input a number between 1 to 4'
echo 'Your number is:\c'
read aNum
case $aNum in
) echo 'You select 1'
;;
) echo 'You select 2'
;;
) echo 'You select 3'
;;
) echo 'You select 4'
;;
*) echo 'You do not select a number between 1 to 4'
;;
esac #for...in...
for loop in
do
echo "The value is: $loop"
done #while...do...done...
echo 'type <CTRL-D> to terminate'
i=
while read FILM
do
echo "Yeah! great film the $FILM"
i=`expr $i + `
b=
if [ $i-gt$b ] #expression 和方括号([ ])之间必须有空格,否则会有语法错误。
then
break
fi
done #until...do...done
a=
until [ ! $a -lt ]
do
echo $a
a=`expr $a + `
val=`expr $a + $b`
done #函数
funWithParam(){
echo "The value of the first parameter is $1 !"
echo "The value of the second parameter is $2 !"
echo "The value of the tenth parameter is $10 !"
echo "The value of the tenth parameter is ${10} !"
echo "The value of the eleventh parameter is ${11} !"
echo "The amount of the parameters is $# !" # 参数个数
echo "The string of the parameters is $* !" # 传递给函数的所有参数
}
funWithParam funWithReturn(){
echo "The function is to get the sum of two numbers..."
echo -n "Input first number: "
read aNum
echo -n "Input another number: "
read anotherNum
echo "The two numbers are $aNum and $anotherNum !"
return $(($aNum+$anotherNum))
}
funWithReturn
ret=$? #函数返回值在执行函数后通过$?获得
echo "The sum of two numbers is $ret !" #输入输出重定向 >,>>(追加), <
who>users
wc -l<users
linux bash 入门的更多相关文章
- Linux系统入门-Bash初识
目录 Linux系统入门-Bash初识 Bash Shell介绍 Bash Shell的作用 Bash的两种使用方式 命令提示符 shell的基础语法 shell的基本特性 命令补全 linux快捷键 ...
- Linux 基础入门(新版)”实验报告一~十二
实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...
- Linux基础入门学习笔记20135227黄晓妍
学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用L ...
- 【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代码安装软件
除了使用Linux的包管理机制进行软件的安装.更新和卸载,从源代码进行软件的安装也是非常常见的,开源软件提供了源代码包,开发者可以方便的通过源代码进行安装.从源码安装软件一般经过软件配置.编译软件.执 ...
- 【转载】干货再次来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载八)用命令实现批量添加用户
Windows添加用户需要至少5个界面,而Linux一条命令就搞定了,这是不是高效人士办公第一法则呢.本文不给你一堆参数和选项,不让你见识教条主义,只给你最实用的代码. 想每天能听到小妞的语音播报,想 ...
- Linux shell入门基础(六)
六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...
- Linux基础入门教程
Linux基础入门教程 --------- Linux学习路径 Linux学习者,常常不知道自己改怎么学习linux:Linux初级,也就是入门linux前提是需要有一些计算机硬件相关的知识或是有一下 ...
- Linux pwn入门教程——CTF比赛
Linux pwn入门教程(1)——栈溢出基础 from:https://zhuanlan.zhihu.com/p/38985585 0x00 函数的进入与返回 要想理解栈溢出,首先必须理解在汇编 ...
- Linux基础入门---学习心得
之前一直以为Linux和Windows差不多,但是学习了Linux基础入门之后才发现两种操作系统之间差距非常大. Linux只是在硬件之上的内核和系统调用,就连我们在Windows里习以为常的图形界面 ...
随机推荐
- [codeforces438E]The Child and Binary Tree
[codeforces438E]The Child and Binary Tree 试题描述 Our child likes computer science very much, especiall ...
- POJ 2142 The balance | EXGCD
题目: 求ax+by=c的一组解,使得abs(x)+abs(y)尽量小,满足前面前提下abs(ax)+abs(by)尽量小 题解: exgcd之后,分别求出让x尽量小和y尽量小的解,取min即可 #i ...
- Codeforces Round #325 (Div. 2) A
A. Alena's Schedule time limit per test 1 second memory limit per test 256 megabytes input standard ...
- 控制属性为multiple的select
需求:实现点击查询,搜索对应渠道已投放.未投放批次.如图: html: <div class="form-inline margin-top-20"> <div ...
- FIRST SCRAPY PRJ
zpc@Lenovo-PC:/prj/pyscrapy/a$ scrapy startproject helloword New Scrapy project 'helloword' created ...
- tcpreplay 流量拆分算法研究
1.1 算法目的 现在网络架构一般是Client-Server架构,所以网络流量一般是分 C-S 和 S-C 两个方向.tcpdump等抓包工具获取的pcap包,两个流向的数据没有被区分.流量方向的 ...
- Golang/Go语言/Go IDE/Go windows环境搭建/Go自动提示编译器/GoSublime
Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言. 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go ...
- POCO库中文编程参考指南(6)Poco::Timestamp
1 类型别名 三个时间戳相关的类型别名,TimeDiff表示两个时间戳的差,第二个是以微秒为单位的时间戳,第三个是以 100 纳秒(0.1 微妙)为单位的时间戳: typedef Int64 Time ...
- centos6.5 网卡服务开机自动启动
今天打开许久没用的centos之后,发现网络服务器不可用,通过service network restart 依然无法使用,简单记录一下处理过程: 1.通过setup 命令查看Network conf ...
- Netty源码学习(三)NioEventLoop
0. NioEventLoop简介 NioEventLoop如同它的名字,它是一个无限循环(Loop),在循环中不断处理接收到的事件(Event) 在Reactor模型中,NioEventLoop就是 ...