Shell脚本编写常用——————持续更新

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hdyrz/article/details/76546404

Linux脚本

source命令与点命令

单纯执行shell脚本./a.sh,  并不能把脚本中定义的变量导入到父shell中, 必须用source的方式执行才可以

$0 $? $#...

https://zhidao.baidu.com/question/1688965149272609028.html


$0 Shell本身的文件名
$1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…
$$ Shell本身的PID(ProcessID)
$! Shell最后运行的后台Process的PID
$? 最后运行的命令的结束代码(返回值)
$- 使用Set命令设定的Flag一览
$* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有数。
$@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$# 添加到Shell的参数个数

$() 与 ``

eval命令

http://www.cnblogs.com/qingjiaowoxiaoxioashou/p/6601788.html

Linux逻辑运算符

http://www.cnblogs.com/chengmo/archive/2010/10/01/1839942.html

command >/dev/null 与 command >/dev/null 2>&1

command >/dev/null的作用是将是command命令的标准输出丢弃,而标准错误输出还是在屏幕上。 

一般来讲标准输出和标准错误输出都是屏幕,因此错误信息还是会在屏幕上输出。这时可以用command >/dev/null 2>&1 这样标准输出与标准错误输出都会被丢弃。1表示标准输出,2表示标准错误输出,2>&1表示将标准错误输出重定向到标准输出。


文件描述符我们常见的就是系统预留的0,1和2这三个,他们的意义分别有如下对应关系:
0 —— stdin(标准输入)
1 —— stdout (标准输出)
2 —— stderr (标准错误)
“2> /dev/null” 代表忽略掉错误提示信息


dirname命令


cd - 与 dirs 与 pushd 与 popd


shell脚本示例

#!/bin/bash
FILE_PATH="/opt/filepath"					#变量

echo "The following file or dir exists:"

if [ -f "${FILE_PATH}/a/b.jar" ]; then echo "${FILE_PATH}/a/b.jar" ; fi	#IF语句

echo "Done"

#!/bin/bash
logss="/var/log/a.log /var/log/b.log"	#字符串数组
i=1										#整型变量
while true								#while循环
do 
   logstr='xxxxxxxxxxxxxxxxxxx'
   for logfile in $logss; do			#for循环,变量字符串数组
        echo $logfile					
        ls -la $logfile
        echo $logstr >> $logfile
        du -sh $logfile					#查看文件大小
    done
   ((i=$i+1))							#整型变量运算
   echo $i
   sleep 1								#sleep
done



Windows脚本示例

@echo off
SET FILE_PATH=D:\filepath					#变量

echo The following file or dir exists:

if exist %FILE_PATH%\a\b.properties ( echo %FILE_PATH%\a\b.properties)	#IF语句

echo Done

@echo off

:loops

echo 暂停3秒钟
start /min /w mshta vbscript:setTimeout("window.close()",3000)	#Windows暂停

goto loops					#GOTO语句

pause 1>nul




阅读更多
换一批

没有更多推荐了,返回首页