Shell脚本

来源:互联网 发布:excel删除重复数据 编辑:程序博客网 时间:2024/06/08 04:16
向脚本传递参数
./script argument
显示文件名称脚本 
./show.sh file1.txt


cat show.sh
echo $1


在脚本中使用参数
第一个参数 : $1,第二个参数 : $2 
脚本会复制文件(arg1) 到目标地址(arg2) 
./copy.sh file1.txt /tmp/


cat copy.sh
cp $1 $2


计算传递进来的参数
$#


在脚本中获取脚本名称
$0


检查之前的命令是否运行成功
$?


获取一个文件每一行的第三个元素
awk '{print $3}'


假如文件中每行第一个元素是 FIND,如何获取第二个元素
awk '{ if ($1 == "FIND") print $2}'


连接两个字符串
V1="Hello"
V2="World"
V3=${V1}${V2}
echo $V3


两个整数相加
V1=1
V2=2
let V3=$V1+$V2
echo $V3


A=5
B=6
echo $(($A+$B)) # 方法 2
echo $[$A+$B] # 方法 3
expr $A + $B # 方法 4
echo $A+$B | bc # 方法 5


检查文件系统中是否存在某个文件?
if [ -f /var/log/messages ]
then
echo "File exists"
fi


for 循环 :
for i in $( ls ); do
echo item: $i
done


while 循环 :
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo The counter is $COUNTER
let COUNTER=COUNTER+1

done



until 循环 :
COUNTER=20
until [ $COUNTER -lt 10 ]; do
echo COUNTER $COUNTER
let COUNTER-=1
done


用 echo 命令获取字符串变量的一部分
echo ${variable:x:y}
x - 起始位置
y - 长度


使用 awk 列出 UID 小于 100 的用户
awk -F: '$3<100' /etc/passwd


获取变量长度
${#variable}


打印变量的最后 5 个字符
echo ${variable: -5}


用 echo 命令替换字符串的一部分
echo ${variable//pattern/replacement}


列出第二个字母是 a 或 b 的文件
ls -d ?[ab]*


去除字符串中的所有空格
echo $string|tr -d " "


0 0
原创粉丝点击