运维1

$1 入参,空值时默认赋值技巧

$* 和 $@ 区别

$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" “)包含
时,都以”$1" “ 2 " … " 2" … " 2""n” 的形式输出所有参数。
但是当它们被双引号(" “)包含时,”$*" 会将所有的参数作为一个整体,
以"$1 $2 … $n"的形式输出所有参数;"
$@" 会将各个参数分开,以"$1" “ 2 " … " 2" … " 2""n” 的形式输出所有参数。
区别在于,分别输出 1 2 3 和
1
2
3
几个 Shell 里的内置变量
1
2
3
4
$# 入参个数
$$ PID
$0 文件名
$? 上个命令执行结果
Tips:
awk 教程 https://coolshell.cn/articles/9070.html
sed 教程 https://coolshell.cn/articles/9104.html
Shell script 基础问答 https://linux.cn/ar
Shell 四则运算方法

let C=A+B
let A++ #let 时 变量前不需要再加$
echo ( ( (( ((A+$B))
echo [ [ [A+$B]
expr $A + $B
echo A + A+ A+B | bc #使用 bc 可以做比较复杂的运算
1
2
3
4
5
6
let C=A+B
let A++ #let 时 变量前不需要再加$
echo ( ( (( ((A+$B))
echo [ [ [A+$B]
expr $A + $B
echo A + A+ A+B | bc #使用 bc 可以做比较复杂的运算
函数定义与调用

定义

function myfun(){ #function 可省略
echo $1 echo “-----”
echo $2 echo “-----”
echo $3
}

调用

myfun “tom” “lucy” “jack”
1
2
3
4
5
6
7
8

定义

function myfun(){ #function 可省略
echo $1 echo “-----”
echo $2 echo “-----”
echo $3
}

调用

myfun “tom” “lucy” “jack”
条件判断

if [[ biaodashi ]]
判断文件是否存在 -f 存在真
判断目录是否存在 -d 存在真
判断字符串是否空 -z 字符串长度为 0 真
判断文件大小 -s 文件大小非 0 真
if [[ 条件 1 -a 条件 2 ]] # -a 表示与, -o 表示或
1
2
3
4
5
6
if [[ biaodashi ]]
判断文件是否存在 -f 存在真
判断目录是否存在 -d 存在真
判断字符串是否空 -z 字符串长度为 0 真
判断文件大小 -s 文件大小非 0 真
if [[ 条件 1 -a 条件 2 ]] # -a 表示与, -o 表示或
字符串与序列、随机数

name=John && echo ‘My name is $name’ 输出’My name is n a m e , 因 为 单 引 号 里 面 的 name ,因为单引号里面的 name只会当作字面值
字符串截取 a=123456789 ; echo ${a:0:3} 输出 123
echo 替换字符

var=tom_tom_lucy_jack_tomomttom
echo ${var/tom/mary} mary_tom_lucy_jack_tomomttom
echo ${var//tom/mary} mary_mary_lucy_jack_maryomtmary
1
2
3
var=tom_tom_lucy_jack_tomomttom
echo ${var/tom/mary} mary_tom_lucy_jack_tomomttom
echo ${var//tom/mary} mary_mary_lucy_jack_maryomtmary
序列

for i in {1…100} #1,2,3,4…100 这种方法好些,还可以输出间
隔系列
for i in {1…100…7} #1,8,15…99
for i in seq 100 #1,2,3,4…100
for i in seq 3 5 #3,4,5
1
2
3
4
5
for i in {1…100} #1,2,3,4…100 这种方法好些,还可以输出间
隔系列
for i in {1…100…7} #1,8,15…99
for i in seq 100 #1,2,3,4…100
for i in seq 3 5 #3,4,5
随机数

echo $RANDOM
head /dev/urandom |md5sum|cksum|cut -c 1-9
1
2
echo $RANDOM
head /dev/urandom |md5sum|cksum|cut -c 1-9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值