shell小结(4)

-------------------------------------------------------------------------------------------
$0: 脚本中时,代表执行文件的名字,注意不包含参数
$0: 命令行时,代表当前shell的名字
$0: awk时,代表当前的一整行
--------------------------------------------------------------------------------------------
在Vim 中可以直接查看文件编码

:set fileencoding  

:set fileencoding即可显示文件编码格式。
----------------------------------------------------------------
命令:chpasswd用来更改用户的密码,/usr/sbin/chpasswd

echo "ads1222:ads1222" | chpasswd


AIC2 /root# chpasswd  p.txt

p.txt的内容必须为: 用户名:密码
-------------------------------------------------------------------------------------------
向文件写内容:
	echo "LANGUAGE=CN" >> .profile
	echo "export LANGUAGE" >> .profile
	echo "JAVA_HOME=/usr/lib/java" >> .profile
	echo "export JAVA_HOME" >> .profile
-------------------------------------------------------------------------------------------
expr:表达式

#!/bin/bash

var=abc

typeset testV=`expr length $var`

echo $testV

typeset len=`expr $testV - 1`

#另一种更好的方法
typeset len2=$((testV-1))

echo $len

-------------------------------------------------------------------------------------------

awk命令:

//搜索匹配项
awk '/a+/ {print $0}' awk.txt

//从1开始,左包括,取2个字符
echo 'abccdd' | awk '{print substr($0,3,2)}'


显示匹配的最后的字符串 
awk '{ print $NF}' filename  
echo "2.3.tar" | awk -F "." '{print $NF}'

    
//竖排变横排 
awk '{ printf("%s,",$1) }' 文件名
  
//横排变竖排


awk -F= 和awk -F = 等价


//NR代表当前是第几行
cat /etc/passwd | awk  'FS=":" {print $1, NR}'

awk 条件 {动作}, 这里的条件可以是模式//


//这里的-v用于给一个变量赋值
 echo a=b | awk -F= -v name=xuxu '{ if ($1 == name) print $2}'


-------------------------------------------------------------------------------------------

sed:

//变量进行替换,变量必须为''括起来

ftp1204@AIC2:~/.dd> echo xx.yy | sed 's/xx/$B/g'
$B.yy
ftp1204@AIC2:~/.dd> echo xx.yy | sed 's/xx/'$B'/g'
bb.yy


------------------------------------------------------------------------------------------

bash中只能函数才支持return
ksh则任意处都可以使用

-------------------------------------------------------------------------------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值