shell_01
定义变量:
name='qwer' 不解析任何字符
name="qwer" 会解析$和\特殊字符
name1=123;name2=456 定义多个变量
now_date=`date` 执行系统命令(现在系统的时间)
引用变量:
echo $name
echo {$name} {}用于区分边界
预定义变量:
$# 参数的数量
$@ 所有参数
$* 所有参数
$? 执行后返回状态,0成功,非0失败
$$ 当前进程号
$! 最后一个进程号
$0 当前进程名
输出格式:
echo 换行输出
echo -e $i \t 转义 \t 输出制表符
printf 不换行输出
接受键盘输入:
read name
echo "xxxx $name"
===============
cat file.txt | while read line 按行读入
按行输入:
<<| 用“|”做定界符
1111111111
222222222
|
let和expr整数算术运算:
i=10
j=20
q=30
let sum=$i+$j+$q
sum=`expr $i+$j+$q`
cheng=`expr $i\*$j` 乘法要用\转义
scale bc小数精度控制:
n=`echo "scale4;13/2" | bc` scale4:小数4位
echo $n
6.5000
字符串操作:
echo ${name:0:3} 取0-3位数字符
string="you and you is name"
echo {string/you/YOU} /替换you为YOU and you is name
echo {string//you/YOU} //两次YOU and YOU is name
test比较运算:
大于 -gt
小于 -lt
大于等于 -ge
小于等于 -le
等于 -eq
不等于 -ne
================
a=100
b=200
test $b -gt $a
=================
str1="abc"
str2=""
test -n str1 测试str1长度不为0,成功返回0
test -z str1 测试str1长度不为空,成功返回0
test $str1 -a $str2 与
test $str1 -o $str2 或
test $str1 ! $str2 非
shell_01的更多相关文章
- Linux从入门到进阶全集——【第十四集:Shell基础命令】
1,Shell就是命令行执行器 2,作用:将外层引用程序的例如ls ll等命令进行解释成01表示的二进制代码给内核,从而让硬件执行:硬件的执行结果返回给shell,shell解释成我们能看得懂的代码返 ...
- linux常用命令 awk命令
awk命令 awk [选项] '条件1{动作1} 条件2{动作2}...' 文件名 条件(Pattern) *) 一般使用关系表达式作为条件 *) x>10 判断变量x是否大于10 *) x&g ...
- linux常用命令 命令管道符
多命令顺序执行 多命令顺序执行 多命令执行符 格式 作用 : 命令1:命令2 多个命令顺序执行,命令之间没有任何逻辑联系 && 命令1&&命令2 逻辑与 当命令1正确执 ...
- linux常用命令 history命令
历史命令 history [选项] [历史命令保存文件] 选项 '-c' 清空历史命令 '-w' 把缓存中的历史命令写入历史命令保存文件~/.bash_history [root@ssgao1987 ...
- shell shell基本概述
SHELL的概念 SHELL是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序, 用户可以用shell来启动,挂起,停止甚至是编写一些程序. Shell还是 ...
- shell 基本概述
SHELL的概念 SHELL是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序, 用户可以用shell来启动,挂起,停止甚至是编写一些程序. Shell还是 ...
随机推荐
- vmware无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件
原因: 是虚拟机服务没有开启 解决方法:(以管理员的方式运行) 点击“开始→运行”,在运行框中输入 CMD 回车打开命令提示符,然后依次执行以下命令. net start vmcinet start ...
- IIS状态码大全【转】
对于站长来说,经常分析下网站的IIS日志是有好处的,这样可以随时了解SE蜘蛛是否经常光顾自己的网站,都抓取了哪些页面,被抓取的页面哪些是被正常的,哪些是不正常的.而IIS日志有专门的返回状态码,为了方 ...
- 异常之*** buffer overflow detected ***
*** buffer overflow detected *** 是sprintf()超出buff大小
- 【NOIP模拟题】Graph(tarjan+dfs)
似乎我搞得太复杂了? 先tarjan缩点然后dfs就行了QAQ. (我不说我被一个sb错调了半个小时....不要以为缩点后dfs就可以肆无忌惮的不加特判判vis了.. bfs的做法:减反图,然后从大到 ...
- VBS 移除excel数据公式,只保留值
如果将excel数据公式移除,只保留计算之后的值,将大大减少excel文件. 因为有上篇移除excel外部数据链接的经验,进行excel数据公式移除将快的多,方法如下. 首先我们得明白怎么手动移除ex ...
- <LeetCode OJ> 217./219. Contains Duplicate (I / II)
Given an array of integers, find if the array contains any duplicates. Your function should return t ...
- RabbitMQ之Queues-5
工作队列的主要任务是:避免立刻执行资源密集型任务,然后必须等待其完成.相反地,我们进行任务调度:我们把任务封装为消息发送给队列.工作进行在后台运行并不断的从队列中取出任务然后执行.当你运行了多个工作进 ...
- 如何用ChemDraw选择结构
在使用ChemDraw软件过程中,我们往往会需要对结构进行翻滚.连结.旋转.分解.组合等操作.但是对于新手用户来说不是每种操作大家都会使用的. 针对这种情况我们会有一系列的教程来为大家讲解.下面我们就 ...
- Spring_day01--Spring的bean管理(xml方式)_属性注入介绍
Spring的bean管理(xml方式) Bean实例化的方式 1 在spring里面通过配置文件 创建对象 2 bean实例化(创建对象)三种方式实现 第一种 使用类的无参数构造创建(重点) Use ...
- iOS开发之--打印一堆奇怪东西的解决方案
Xcode8总是打印一堆奇怪的东西.虽然不影响开发,但是看着很不爽.解决的方法就是在Scheme里面添加(name):OS_ACTIVITY_MODE (value):disable 然后再在突出的框 ...