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里习以为常的图形界面 ...
随机推荐
- xpath属性值的模糊匹配
得至:http://bbs.csdn.net/topics/390857942 最后一楼 //div[contains(@class,'Number Skill')]
- 开头什么的肯定要自我介绍然后把它扔到置顶咯>_<~
大家嚎,我是NanoApe~ 现在高一,是个OIer.音游狗和一个爱着二次元的萌汉子妹子,欢迎前来勾搭>_<~ 最近就是要冲省队啦~~~~加油! 扣扣号:879006461 Weibo:伪 ...
- BZOJ 2223 [Coci 2009]PATULJCI | 主席树练习 (好像是个权限题啊)
题目: 给个序列,问[l,r]区间内是否存在x>(r-l+1)>>1 题解: 好像大家都觉得这个题比较简单,没人写题解啊 先说BZOJ样例的格式应该是,第二个数是序列中数的范围(就是 ...
- freemarker 前端 判读 遍历 取值
<#if content?length gt 100> ${content[0..100]}... <#else> ${content} </#if> freema ...
- ABC103
Wow今天听同学说了这个网站,做了一次比赛的题目,只有四道题. A.三个数a,b,c,找两个最小的差相加,显然是中间数与另外两个数的差,也就是最大值减最小值了 B.两个字符串,判断能否通过对一个进行每 ...
- Gradle for Android(一)
Gradle是一种基于Groovy的动态DSL,而Groovy语言是一种基于jvm的动态语言.这里只分享实际开发中会用到的场景,您不需要去学习Groovy语言,知道Java的您是很容易阅读Groovy ...
- 去掉VS中的警告错误:warning C4819
当项目引用到外部源代码后,经常出现4819错误,警告信息如下: warning C4819: 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 Unicode 格式以防止数据丢失. ...
- Delphi中的堆,栈
来自:http://blog.163.com/liang_liu99/blog/static/884152162009111303756371/ --------------------------- ...
- vim注释颜色更改
通过putty或者securecrt连到linux服务器,使用vi编辑*.php 或*.c文件时, 蓝色的注释很淡,看不清,看起来很费眼 效果如下 我本身有习惯于默认配色,不想修改配色方案,只想把看不 ...
- [BZOJ2654]tree 最小生成树+贪心
2654: tree Time Limit: 30 Sec Memory Limit: 512 MBSubmit: 2435 Solved: 1011[Submit][Status][Discus ...