天天看点

Shell

三种变量的定义方式:

  1. 字符串如何定义

# wujie="is a good boy"

# echo $wujie

is a good boy

# wujie='data'

data

  1. 数字如何定义

20

  1. 命令如何定义

# wujie=`date`

Sat Sep 4 03:47:23 EDT 2021

# wujie=$(date)

Sat Sep 4 03:57:45 EDT 2021

shell脚本的重要位置参数

$0 #脚本的名称,全路径执行,则获取的是全路径名称

# cat wujie.sh

#!/bin/bash

wujie=test

echo ${wujie} is ok

echo $0

# sh wujie.sh

test is ok

wujie.sh

# sh /root/wujie.sh

/root/wujie.sh

$n # 脚本的第n个参数

$# 脚本传参的总个数

$* #获取传参的所有参数,如果不加双引号和$@相同,如果加上双引号,获取的是一个整体

$@ #获取传参的所有参数,如果不加双引号和$*相同,如果加上双引号,则获取的为单个参数

$? #上一条命令的执行结果,0为成功,非0失败

$$ #获取脚本的PID,当系统执行多个shell脚本时使用

$ ! #获取上一个脚本的PID

$_ #获取上一个脚本的最后一个参数

shell变量传参

read -p

read -p "please input num: " a

echo $a

read -t 5 -p "please input num: " a

不输入 -t 5 // 5秒自动退出

# 第一种变量传参

read -p "please input num: " a b

echo $a $b

# 第二种变量传参

c=$1

d=$2

echo $c $d

# sh wujie.sh 1 2

please input num: a b

a b

1 2

# 第三种变量传参

echo $1 $2