shell小结(11)

echo "drop user testads cascade;
	  drop tablespace testads including contents and datafiles;
	  exit" | sqlplus 'system/system'@ttdemo

sqlplus system/system@lbs "@test.sql"
等于:
echo "@test.sql" | slqplus sytem/system@lbs
-------------------------------------------------------------------------------------------
### 此段代码用于保证可使用相对路径,不要删除 ###
if [ `echo $0 | grep -c "/"` -gt 0 ]
then
 cd ${0%/*}
fi 

-------------------------------------------------------------------------------------------
#set env
export JAVA_HOME=~/jdk1.5.*;
export PATH=$JAVA_HOME/bin:$PATH;	  
-------------------------------------------------------------------------------------------
#!/bin/bash
#tr的用法 读取文件内容,然后变为数组,特殊语法
typeset lineList=`cat 'bak.pro' | tr -s ''`

typset lineArr=($lineList)

echo ${#lineArr[@]}
-------------------------------------------------------------------------------------------
NR:行号
NF:长度

awk的substr:从1开始计数,第一个参数可以不是变量
 typeset target_file=`echo $tempfile |awk '{print substr($0,1,'$filenamelength')}'`
-------------------------------------------------------------------------------------------
sed的替换最好方式:注意中间的变量用''号,虽然有多个,但并不会有问题
typeset tempfile=`echo $source_file|sed 's#'$sp'#'$tp'#'`

-------------------------------------------------------------------------------------------
很有用的命令:

#!/bin/bash

ret=` echo "ftp1204" | su - ftp1204 -c "echo $GROUP"`

echo $ret
------------------------------------------------------------------------------------------
userdel -rf 用户

//在脚本中必须加上-o,否则程序挂死
unzip -o aa.zip -d /home/testuser >> /dev/null 2>&1

//解压war包
jar xvf test.war 或者 unzip test.war

cp src dest:会替换
cp -f :则强制替换
-------------------------------------------------------------------------------------------
#!/bin/bash

#必须加上双引号
typeset users="aa bb cc"
typeset userArr=($uses)

for user in ${userArr[@]}
do
	echo $user
done
-------------------------------------------------------------------------------------------
awk中定义变量和引用外部变量 
#!/bin/bash

typeset key="username"

typeset count=`echo "username=lbs" | awk -F "=" -v k="${key}" '{if (k == $1) print $2}' | wc -l`

if [ $count -eq 1 ];then
	echo 'ok'
else
	echo 'fail'
fi

#awk的if(注意是if)如果引用外部的变量,必须只能加上单引号
#!/bin/bash
name=xx
echo "age=23" | awk -F "" '{if ('$name' == xx) print $2}'

 

发布了27 篇原创文章 · 获赞 0 · 访问量 1437
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章