前言: 公司要统计 treasury库hive表磁盘空间,写了个脚本,如下: 查询hive仓库表占用hdfs文件大小: hadoop fs -du -h  /user/hive/warehouse/treasury.db  > treasury.txt 脚本: #!/bin/sh # while read line do size=$1 num=` echo $line | cut -d " " -f 1` unit=` echo $line | cut -d " &q…
shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法1: a= b= c=$(($a+$b)) 方法2: a= b= declare -i c=$a+$b 通过declare -i 来声明c的数值类型为int类型 方法3: a= b= c=$(expr $a + $b) 注意+号两边有空格 通过貂绒expr命令来进行字符串的加减…
1.运算方式及运算符号 2.SHELL 中常用的运算命令 3.相关操作演示 1.用脚本写一个10秒倒计时 脚本的执行: 2.编写脚本,1分10秒的倒计时 执行脚本: 3.编写脚本,制作一个计算器 脚本执行: 4.编写脚本,将1-10主机号的主机名导入到文件中 导入文件后会出现以下情况 原因是因为文本处理工具是基于unix环境开发的,在linux环境中存在兼容性问题 linux系统后面会加\n,windouws会加\n\r,unix后面会加\r 英语等级考试将其全文替换时用ctrl+^和ctrl+…
1.shell中的函数 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这 个小单元的名字即可.格式: function f_name() {commond}   函数必须要放在脚本的最前面案例1: #!/bin/bashinput() {echo "第一个参数是$1"echo "第二个参数是$2"echo "总共有多少个参数 $#"echo "这个脚本的名字是 $0"}read -p…
http://blog.chinaunix.net/u1/53027/showart.php?id=482234 在shell中常用的特殊符号罗列如下:# ;    ;;       .       ,        /        \        'string'|        !    $    ${}    $?       $$    $*        "string"*      **    ?       :        ^       $#    $@     …
来源:http://blog.sina.com.cn/s/blog_62a151be0100x9rn.html 第四章 基本功 - 特殊符号 学习撰写 script 最迅速的捷径是观摩别人的 script 档案.不过,此法儘管实际,但这对于 shell 基础认知不足的人来说,通常都得到"事倍功半",甚至半途而废.通常第一个问题就是搞不懂那些"特殊符号"到底在代表什么意义,又到底她们干了些什么? 以下,农夫尝试列出常用的特殊符号表列,并在说明中加入简短的范例.原则上,…
在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"string\"* **   ? : ^ $#   $@ `command`{}   [] [[]] ()   (()) ||   && {xx,yy,zz,...}~   ~+   ~-   &   \\<...\\>   + - %=   ==   != # 井号 (comments) 这几乎是个满…
centos  shell脚本编程2 if 判断  case判断   shell脚本中的循环  for   while   shell中的函数  break  continue  test 命令   第三十六节课 return用在函数中exit用在shell当中 直接退出整个脚本,整个子shell或当前shellbreak退出循环 上半节课 if 判断case判断shell脚本中的循环 下半节课 for whileshell中的函数breakcontinue 课程大纲(继续上节课的) 7. if…
case语句适用于需要进行多重分支的应用情况. case分支语句的格式如下: case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2        ;; *) 默认执行的命令序列     ;; esac Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)_linux shell_脚本之家 在Linux Shell中有很多的特殊符号,这对于我们写Shell脚本时要特别留意:一方面要知道这些特殊符号的用法,这些符号用好了可以达到事半功倍的效果:但另一方面要避免这些…
http://www.embeddedlinux.org.cn/emb-linux/entry-level/201907/18-8747.html 在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"string\"* **   ? : ^ $#   $@ `command`{}   [] [[]] ()   (()) ||   && {xx,yy,zz,...}~   ~…
目录 1.Shell常用运算符 2.Shell中数值运算的方法 (1)方式一 (2)方式二 (3)方式三(推荐) 1.Shell常用运算符 Shell中常用运算符如下表: 优先级数值越大优先级越高,具有较高优先级级别的运算符先于较低级别的运算符进行求值运算. 优先级 运算符 说明 13 -,+ 单目负.单目正 12 !,~ 逻辑非.按位取反或补码 11 *,/,% 乘.除.取模 10 +,- 加.减 9 <<,>> 按位左移.按位右移 8 <=,>=,<,>…
测试题: [ -z "" ] && echo 0 || echo 1 的结果是多少 看看这两个 && || 的用户  http://blog.csdn.net/a627088424/article/details/20360107 shell中&&和||的使用方法 &&运算符:   command1  && command2   &&左边的命令(命令1)返回真(即返回0,成功被执行)后,&a…
shell中&&和||的使用方法 &&运算符:   command1  && command2   &&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行:换句话说,"如果这个命令执行成功&&那么执行这个命令".  语法格式如下:       command1 && command2 [&& command3 ...]…
linux Shell中常用的条件判断 -b file            若文件存在且是一个块特殊文件,则为真 -c file            若文件存在且是一个字符特殊文件,则为真 -d file            若文件存在且是一个目录,则为真 -e file            若文件存在,则为真 -f file            若文件存在且是一个规则文件,则为真 -g file            若文件存在且设置了SGID位的值,则为真 -h file    …
1.for循环语句实例1.1 最基本的for循环 #!/bin/bash for x in one two three four do     echo number $x done 注:"for" 循环总是接收 "in" 语句之后的某种类型的字列表.在本例中,指定了四个英语单词,但是字列表也可以引用磁盘上的文件,甚至文件通配符.实例1.2 #!/bin/bash for x in /var/log/* do     #echo "$x is a file…
一.shell中的函数 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段代码时直接调用这个小单元的名字即可. 格式: function _name() { command } 函数必须放在最前边 示例1: #! /bin/bash input() { echo $1 $2 $# $0 } input 1 a b $0代表为这个scritp $# 统计有几个参数 示例2: #! /bin/bash sum() { s=$[$1+$2] echo $s } sum 1 2…
shell中要进行数学运算通常有3中方法: expr命令 比如 expr 1 + 6就会返回7,使用expr的缺点就是碰到乘法运算,或者加括号(因为它们在shell中有其他意义),需要使用转义,比如:expr \( 2 + 3\)  \* 5,这样就会使得表达式很难看 $[expression]命令 使用$[expression]命令也可以进行数学计算,并且比expr方便的是*和括号可以不用转义,比如仍然计算(2 + 3) * 5,可以直接写为: result=$[ (2 + 3) * 5 ]…
字符串操作   变量赋值: 说明:变量值可以用单引号.双引号.或者不加任何引号来赋值给变量 变量名="变量值" 变量名='变量值' 变量名=变量值 例如:str="hello world" 注意:=左右不能有空格,否则会报错command not found 区别: 1.单引号的不能使用变量,$会被认为是个普通字符:字符串间可以有空格 2.双引号可以使用变量:字符串间可以有空格 3.不加任何引号的只能赋值连续的字符串,中间不能有空格,否则会报命令错误   字符串连接…
shell中的赋值和操作默认都是字符串处理. 1)使用let(只能进行整数运算)var=1let "var+=1"echo $var输出结果为2 注意:a)let几乎支持所有的运算符b)方幂运算应使用“**”c)参数在表达式中直接访问,不必加$d)一般情况下算数表达式可以不加双引号,但是若表达式中有bash中的关键字则需加上e)let后的表达式只能进行整数运算 2)使用(())var=1((var+=1))echo $var输出结果为2注意:(())的使用方法与let完全相同 3)使用…
在Linux Shell中进行数学运算,通常能够使用的运算符有: 简单运算: let [] (()) 高级运算: expr bc 1.let命令 let命令是bash内置命令.能够实现简单的算术以及逻辑运算.通过help let命令,能够查询到let命令的详细使用方法. 使用方法: #!/bin/sh i=10 echo $i let i=i+10 #20 echo $i let "i=i+100" #120 echo $i 2.[] []相当于let命令,其使用方法例如以下: #!/…
命令代换$()与`` . 变量代换${} . 整数运算$(( )) 1.$( ) 与 ` ` (反引号) 在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的. 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:* 完成引号里的命令行,然后将其结果替换出来,再重组命令行.例如:[code]$ echo the last sunday is $(date -d "last sunday" +%…
一.Shell中的数值运算 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 使用expr.$[ ].let等整数运算工具:定义变量X=1234,然后计算X与78的四则运算及求模结果       2> 使用bc实现小数运算操作:以交互方式计算12.34与56.78的四则运算结果,另外再以非交互方式重复上述计算,最多显示4位小数 步骤: 1)使用expr命令 乘法操作应采用 \* 转义,避免被作为Shell通配符:参与运算的整数值与运算操作符之间需要以空格分开,引…
shell中各种括号的作用().(()).[].[[]].{} 原文:http://www.jb51.net/article/60326.htm http://blog.csdn.net/good_habits/article/details/27708745. http://blog.csdn.net/taiyang1987912/article/details/39551385 在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: 1.${var} 2.$(…
shell变量与运算 @(0003 shell编程) 变量存在于内存中.假设变量str,设置或修改变量属性时,不带$号,只有引用变量的值时才使用$号.也就是说在内存中,标记变量的变量名称是str,而不是$str. 变量数据的存储方式本身是有类型之分的,分为数据(整数.浮点型)和字符,在java等一些语言中,需要提前声明变量是哪种类型.但是,在bash中变量比较宽松,不需要这么做. 即,变量可以这么分为: 强类型:变量不经过强制转换,它永远是这个数据类型,不允许隐式的类型转换.一般定义变量时必须指…
一算术运算 bash中的算术运算:help let+, -, *, /, %取模(取余), **(乘方)实现算术运算:(1) let var=算术表达式(2) var=$[算术表达式](3) var=$((算术表达式))(4) var=$(expr arg1 arg2 arg3 ...)(5) declare –i var = 数值(6) echo ‘算术表达式’ | bc乘法符号有些场景中需要转义,如*bash有内建的随机数生成器:$RANDOM(0-32767)echo $[$RANDOM%…
今天总结一下linux shell中逻辑关机表达方式.逻辑与的表达: 1).if [ $xxx=a -a $xx=b ] 注:-a表示and的意思 2).if [ $xxx=a ] && [  $xx=b ] eg: #! /bin/bash webapps_dir='/var/log/webapps' webapps_owner=`ls -l /var/log|grep 'webapps$'|awk '{print $3}'` webapps_group=`ls -l /var/log|…
shell中${}的妙用   1. 截断功能 ${file#*/}:       拿掉第一条/及其左边的字符串:dir1/dir2/dir3/my.file.txt ${file##*/}:    拿掉最后一条/及其左边的字符串:my.file.txt ${file#*.}:       拿掉第一个.及其左边的字符串:file.txt ${file##*.}:    拿掉最后一个.及其左边的字符串:txt ${file%/*}:     拿掉最后条/及其右边的字符串:/dir1/dir2/dir…
Shell中声明变量默认是字符串, 要参与数值运算,可使用下面方式,简单,表示以数值方式.…
VBird说学习Linux,掌握了Shell和正则就相当于打通了任督二脉,此后能力的成长才会突飞猛进. Shell的基础学习之前已经总结了一篇博客:http://www.cnblogs.com/jyzhao/p/4485553.html 本文将总结Shell中的正则表达式及常用的字符处理命令,为打通任督二脉奠定基础^_^. 基础正则表达式举例说明 字符截取命令 cut命令 awk命令 sed命令 字符处理命令 sort命令 wc命令 1. 基础正则表达式举例说明 *,.,\,^word,word…
Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 bc 两个程序实现高级运算: 1, Linux shell 变量的基本运算 数值作为常规变量直接赋值给变量,并且以字符串形式保存. 1.1 let 命令可以用于直接执行基本操作:         当我使用 let 的时候,我们不使用 $ 符号引用变量. no1=7; no2=8; echo "---…