shell常见命令总结(二)

1.1. shell的数据类型

  shell的数据类型是动态的数据类型。即不需要事先定义,而可以直接使用。使用过程中,能随时变换类型。比如 awk {‘print $1’}  /opt/test.txt  从文本文件中打印从第一列,然后可以直接用$1进行算数比较运算。

b=grep “8-7-112-132” /opt/

b就是一个list类型。可以使用 for i in b

1.2. 其他常用命令

1.2.1. tr单个字符替换

只能用一个字符替换另一个字符,如 a=`echo $IP|tr ‘.’ ‘_’`,把IP地址中的点换成下划线。

echo $file|tr ‘ ’ ‘\n’   #将文件中所有的空格换成换行

echo $file|tr ‘[a-z] ‘[A-Z]‘  #将所有小写换成对应的大写(前面和后面的是一一对应)。

echo $file|tr -d  ‘ ’    #删除文件所有的空格

1.2.2. 简单判断语句test[exp1 -gt exp2] && {sh log4.sh}

判断条件为真时,执行后面的语句,否则不执行。

test[exp1 -gt exp2] || {sh log4.sh},同理,这个语句表示,当前面的语句为假时,后面的语句才执行。

1.2.3. 表达式结果赋值语句

path=$((cd dirname $0);pwd)

dirname $a,表示将文件a的路径列出来,两个命令先后执行,用分号隔开。

想将pwd显示的结果赋值给path变量,如果直接等于pwd就不对了。还比如,

grep_ip=$(echo $odl_ip|sed  ‘s/\./\\./g’)

将变量old_ip中的点,换成\.,而sed没有参数,表示只将替换的结果显示在屏幕上,并不改变文件的内容(由于前面是变量,不是文件,不能使用-i选项)

1.2.4. 命令赋值语句

赋值语句等号右边的句式太长时,需要让他们连接起来表示是一个整体,就需要用反引号括起来。

ip_list=`cat test.txt|grep “8.7.112.133”`

1.3. 算数表达式

shell中算数表示式有三种写法(注意,如果用expr方式,+ 号左右要有空格,而后面两种写法要不要空格都可以)

a=1;b=2

c=`expr $a + $b` 或 c=$(expr $a + $b)

c=$(( $a + $b))

c=$[ $a + $b ]

乘法:c = $(( $a \* $b))

除法:c=$(( $a \ $b))

幂运算:c=$(( $a ** $b))

1.4. shell中的函数

因为执行循序是从前往后,所以函数要先定义再调用。

./test.sh  a  b

表示执行test.sh脚本,传递的参数是a,b。且a,b是传给main函数的。在main函数中,$0,表示脚本名字,$#参数个数,2;[email protected]原样列出参数a b;$? 函数的执行结果;

如果test.sh脚本中有change_ip方法,change_ip() old_ip  new_ip,则在change_ip方法中,[email protected]就是 old_ip new_ip了。

1.5. 获取当前文件所在目录

path=$(cd $(dirname $0);pwd)

1.6. 执行非当前用户的命令

su - oracle -c “sqlplus / as sysdba @tmp/shutdown.sql”

达到既执行Oracle用户的命令,有没有把当前用户切换到Oracle用户。

执行SQL命令时,需要先将命令放在一个文件中,用户之后再删除。

echo -e “shutdown immediate;\nexit;”>/tmp/shutdown.sql   /tmp目录所有用户都有权限

1.7. shell中的单引号和爽双引号

  单引号和双引号都是引用字符串,不同的是,双引号中的特殊字符:美元符号、反引号、反斜杠、大中小括号($、`、\)会保留特殊的转义作用,而单引号中所有的特殊符号都失去了特殊意义,将会原样显示。

  在grep、sed、awk命令中,需要注意,grep和sed通常用双引号,而awk中用单引号。

  有些命令中的格式,需要具体对待,如awk ‘{print $1}’必须用单引号,而$1符号仍未特殊意义。

时间: 2024-08-30 13:23:50

shell常见命令总结(二)的相关文章

Linux常见命令整理(二)

权限设置 chmod  改变文件或目录的权限 格式 chmod 参数  文件名 r-读 w-写 x-执行 u-user 所有者 g-group 所属组 o-others 其他人 a-all 所有人 + 添加某个权限 - 取消某个权限 =  赋予给定权限并取消原来所有权限 除此之外,也可以使用数字来表示权限 r = 4 w = 2 x = 1 例如:chmod 777 a 代表修改文件a的权限是-rwxrwxrwx 其他的权限类似 chown 改变某个文件或目录的所有者 格式 chown 用户 文

hbase shell 常见命令

quick start from official Hbase  hbase(main):003:0> create 'test', 'cf' 0 row(s) in 1.2200 seconds hbase(main):003:0> list 'test' .. 1 row(s) in 0.0550 seconds hbase(main):004:0> put 'test', 'row1', 'cf:a', 'value1' 0 row(s) in 0.0560 seconds hba

shell常见命令总结(三)

1.1. shell中cut命令的用法 第一种用法与awk相似,下面的用awk表示: cat /etc/passwd|awk -F : '{print $1,$5}' cut -d : -f 1,5  /etc/passwd  /-d后面的冒号表示字段之间的分隔符,-f表示去分隔符后的哪些字段 使用cut命令还可以剪切以字符数量为标量的部分字符,该功能通过-c选项实现,其不能与-d选项共存. cut -c  1-4 /etc/passwd   #取每行的前1-4个字符 1.2. 回车换行符 Wi

Linux常见命令(二)

三,文件系统命令: 文件系统组织结构 (1)一切从根目录"/"开始(文件系统层次化标准:FHS) tree安装: 下载:yum install  tree tree命令行参数: 参数 作用 -a 显示所有文件和目录. -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合. -C 在文件和目录清单加上色彩,便于区分各种类型. -d 显示目录名称而非内容. -D 列出文件或目录的更改时间. -f 在每个文件或目录之前,显示完整的相对路径名称. -F 在执行文件,目录,Socket,

shell常见命令02

grep 该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等,比如可以加在ps, tail, cat后面 grep Nottingham uk-500.txt:在uk-500这个文档行中查找Nottingham所在的记录并显示出来 more uk-500.txt | grep Nottingham:用管道连接more和grep两个命令,结果与上个命令相同 more uk-500.txt | grep “Not

shell常见命令总结(一)

1.1. 各种判断 1.1.1. 字符串判断 str1 = str2 当两个串有相同内容.长度时为真 str1 != str2 当串str1和str2不等时为真 -n str1 当串的长度大于0时为真(串非空) -z str1 当串的长度为0时为真(空串) str1    当串str1为非空时为真 1.1.2. 数字的判断 int1 -eq int2 两数相等为真 int1 -ne int2 两数不等为真 int1 -gt int2 int1大于int2为真 int1 -ge int2 int1

shell常见命令01

常用命令01 more 查看文件里的内容 return键:换行 空格键:下一页 b: 后退,上一页 /pattern:查找文档中pattern q:强制退出 ls 展示文件夹内内容 ls:输出文档基本属性 ls -l: 长数据串行出,包含档案的属性等等数据 ls -a:全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来,隐藏文档以一个点开头 ls -F:根据档案.目录等信息,给予附加数据结构,例如: *:代表可执行档: /:代表目录: =:代表 socket 档案: |:代表 FIFO

二. 第六单元.shell脚本命令

###########################二. 第六单元.shell脚本命令############################# 1.diff diff        file file1            ##比较两个文件的不同        -c                        ##显示周围的行        -u                        ##按照一定格式统一输出生成补丁        -r                      

Linux学习(二十一)Shell基础(一)认识shell、命令历史、命令补全、别名、通配符、管道符与前后台控制

前言 这个系列我们学习shell的基础知识. 一.认识shell 我们经常使用的终端,其实就是一个shell.Bourne开发的shell原本叫shell,后来再版Bourne Again Shell叫做Bash.我们通常使用的shell就是Bash. 二.命令历史 history命令能够记录我们使用过的命令: [[email protected] ~]# history|tail -n3 803 history|tail -n3 804 history 805 history|tail -n3