shell变量
cd /data/script 423 ll 424 which shell 425 expr "2 + 3" 426 expr 2 + 3 427 expr 2 - 3 428 expr 2 \* 3 429 expr 2 / 3 430 expr 9 / 3 431 expr 9 / 5 432 bash test-var.sh yu1 yu2 yu3 yu4 yu5 yu6 yu7 yu8 yu9 yu10 433 n1=16 434 n2=4 435 expr ${n1} + ${n2} 436 expr ${n1} - ${n2} 437 expr ${n1} \* ${n2} 438 expr ${n1} / ${n2} 439 echo $(( ${num1} + ${num2} )) 440 echo $(( ${num1} + ${num2} )) 441 expr "6/5" | bc 442 expr "6/5" | bc 443 echo "6/3" | bc 444 expr 6 % 3 445 expr 6 % 4 446 expr 6 % 5 447 num1=1 448 num2=2 449 let result=${num1}+${num2} 450 echo result 451 echo $result 452 let result2=${num1}-${num2} 453 let result3=${num1}*${num2} 454 let result4=${num1}/${num2} 455 echo $result $result2 $result3 $result4 456 echo $num1+$num2 |bc 457 let num3=num1+num2 458 echo $num3 459 num1=5 460 let num3=num1*num2 461 echo $num3 462 data +%d 463 ps aux | grep 30836 464 vim test02.sh 465 vim test03.sh 466 chmod u+x test03.sh 467 ./test03.sh 468 echo $$ 469 source test03.sh 470 . test03.sh 471 ./test03.sh 472 tail /etc/profile 473 export name="yyq01" 474 echo $name 475 vim test03.sh 476 ./test03.sh 477 vim test03.sh 478 ./test03.sh 479 echo $name2 480 export name3="yyq03" 481 ./test03.sh 482 export name2="yyq02" 483 ./test03.sh 484 vim test03.sh 485 ./test03.sh 486 echo $name3 487 echo "今天是 $(date +%d) 号" 488 echo "明天是 $[ $(date +%d) + 1 ] 号" 489 echo "去年是 $[ $(date +%Y) - 1 ] 年" 490 echo "当前日期是 $(date +%Y-%m-%d-%T)" 491 echo "今年过去了 $(date +%j) 天" 492 echo "今年还剩下 $[ 365 - $(date +%j)]天" 493 echo "今年还剩下 $[ (365 - $(date +%j)) / 7 ] 个星期" 494 vim calc.sh 495 bash calc.sh 496 bash calc.sh 3 + 6 497 echo "当前主机,系统版本信息是:$(cat /etc/redhat-release)" 498 echo "当前系统版本是:$(grep -i 'pretty_name' /etc/os-release |awk -F '"' '{print $2}')" 499 echo "当前系统内核版本是:$(uname -r)" 500 echo "当前系统主机名是:$(hostname)" 501 echo "当前系统eth0网卡ip是:$(ifconfig eth0 |awk 'NR==2{print $2}')" 502 echo "当前系统eth1网卡ip是:$(ifconfig eth1 |awk 'NR==2{print $2}')" 503 echo "当前网络环境,对外的公网IP是:$(curl -s ifconfig.me )" 504 echo "当前内存已使用的百分比情况是 :$(free -m | awk 'NR==2{print $3/$2*100}')%" 505 echo "当前根目录分区已用资源百分比是 :$(df -h|awk '/\/$/{print $5}')" 506 top -n1 | grep "Cpu(s)" |awk '{print 100-$8}' 507 echo "CPU使用率: $(top -n 1 | awk 'NR==3 {print 100-$8}')%" 508 top -n1 | awk 'NR==3{print 100-$8"%"}' 509 echo -e "CPU使用率如下--$(sar -u 1 1|awk 'NR==5{print 100-$NF}')%" 510 cat show_server_info.sh 511 vim show_server_info.sh 512 cat show_server_info.sh 513 $(grep -i 'pretty_name' /etc/os-release |awk -F '"' '{print $2}') 514 $(uname -r) 515 chmod u+x show_server_info.sh 516 $(grep -i 'pretty_name' /etc/os-release |awk -F '"' '{print $2}') 517 $(uname -r) 518 vim show_server_info.sh 519 chmod u+x show_server_info.sh
shell
$0 : Shell本身的文件名
$! : Shell最后运行的后台进程PID
$$ : 当前脚本运行的进程PID
$? : 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$* : 所有参数列表。如"$*“用双引号引起来的情况、以”$1 $2 … $n"的形式输出所有参数,此选项参数可超过9个
$@ : 所有参数列表。如"$@“用双引号引起来的情况、以”$1" “$2” … “$n” 的形式输出所有参数
$# : 添加到Shell的参数个数
$- : 显示shell使用的当前选项,与set命令功能相同
$1~$n :添加到Shell的各参数值。$1是第1参数、$2是第2参数…
三个引号的用法
#!/bin/bash # *************************************************************************** # * # * @file:test_03.sh # * @author:hk # * @date:2024-01-07 13:07 # * @version 1.0 # * @description: Shell script # * @Copyright (c) all right reserved #* #**************************************************************************/ name01='hk' name02='yyq' a=1 b=22 echo "双引号用法:name01=$name01" echo '单引号用法:name01=$name01' echo "反引号用法:pwd `pwd`"
浙公网安备 33010602011771号