(11)centos7 shell
  sX9JkgY3DY86 2023年11月13日 36 0

一、变量

1.系统变量

echo $PATH #环境变量

echo $USER #当前用户

echo $HOME #

 

 

2.自定义变量

  • 变量名称一般用大写
  • 等号两侧不能有空格
  • 静态变量不能被unset
A=100 #定义变量,

unset A #销毁变量

readonly B #定义静态变量,

echo $A #使用变量$

指令赋值给变量

a1=$(ls -a)  #使用$(),这个指令有的linux不兼容
a2=`ls -a` #或者使用 ``

echo $a1
echo $a2

 

3.位置参数变量

 

#!/bin/bash
echo "输入参数个数共:$# 个"
echo "全部参数1是:$0 , 参数2是:$1"
echo "输入参数为:$@"
echo "输入参数为:$*"

(11)centos7 shell_静态变量

 

4.预定义变量

$$ #获取当前进程号
$! # 后台运行的最后一个进程号
$? #返回最后一次命令的状态,0表示成功,

 

二、运算符

$()

echo $(((2+3)*4))

$[]    ** 两个()等于一个[]

echo $[(2+3)*4]

 

expr

用expr时符号两边必须要有空格

echo `expr 2 + 3`

 

 

乘号 

需要加\

echo `expr 2 \* 3`

 

比较运算符

数字的比较: 
-eq 相等(equal)
-ne 不等(not equal)
-gt 大于(greater than)
-lt 小于(less than)
-ge 大于等于 (greater than or equal)
-le 小于等于 (less than or equal)

字符串的比较:
[ $str1 = $str2 ] 等于
[ $str1 != $str2 ] 不等于
[ -z $str ] 空字符串返回true
[ -n $str ] 或者 [ $str ] 非空字符串返回true

文件

-r file     用户可读为真
-w file     用户可写为真
-x file     用户可执行为真
-f file     文件为正规文件为真
-d file     文件为目录为真
-c file     文件为字符特殊文件为真
-b file     文件为块特殊文件为真
-s file     文件大小非0时为真
-t file     当文件描述符(默认为1)指定的设备为终端时为真

 

三、判断

 1 if

#!/bin/bash

if [ $1 -gt 15 ]
then
echo "大于"
elif [ $1 -lt 15 ]
then
echo "小于"
else
echo "等于"
fi

(11)centos7 shell_静态变量_02

 

 2 case

#!/bin/bash

case $1 in
"1")
echo "周一"
;;
"2")
echo "周二"
;;
*)
echo "other"
esac

 

 

(11)centos7 shell_bash_03

 

 

四、循环

 

1. for循环

#!/bin/bash

for i in "$*"
do
echo "$i"
done

echo "*********************"

for j in "$@"
do
echo "$j"
done

 

(11)centos7 shell_for循环_04

 

2.for循环

#!/bin/bash


for (( i=0 ; i<$1 ; i++))
do
echo "print $i"
done

 

 

(11)centos7 shell_for循环_05

 

3.while 

 

#!/bin/bash

while [ "$1" ]
do
echo "$1"
done

 

五、函数

1.系统函数

(1)basename 获取文件全路径下的文件名

[root@VM_0_2_centos ~]# basename /root/test.txt
test.txt

(2)dirname 获取文件全路径的路径部分

[root@VM_0_2_centos ~]# dirname /root/test.txt
/root

 

2.自定义函数

 

#!/bin/bash
getSum(){
SUM=$[$n1+$n2]
echo "求和:$SUM"
}

read -p "输入参数1:" n1
read -p "输入参数2:" n2

getSum $n1 $n2

 

(11)centos7 shell_bash_06

 

 

六、其他

1读取控制行

#!/bin/bash

read -p "请输入:" NUM1
echo "输出: $NUM1"

(11)centos7 shell_静态变量_07

 



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  rYbDpQnHh4bw   2023年11月02日   60   0   0 缓存官网bash
  oJyKzGPzrrQi   2023年11月02日   104   0   0 IUS源gitlinux运维bash
  3OWcH55z3bwR   2023年11月02日   72   0   0 javabashjar
  a2cU6wh5pQPw   2023年11月13日   25   0   0 shellphpbash
sX9JkgY3DY86