Shell脚本的基本运算符应用

news/2024/11/29 0:50:09/

记录:432

场景:Shell脚本的基本运算符应用。一般包括算术运算符、关系运算符、布尔运算符、逻辑运算符、字符串运算符、文件检测运算符。

版本:CentOS Linux release 7.9.2009。

1.算术运算符

1.1运算符

算术运算符。

+:加法。

-:减法。

*:乘法。

/:除法。

%:取余。

=:赋值。

==:相等。

!=:不相等。

1.2脚本

脚本名称:b2023052401.sh

脚本内容:

#!/bin/bashecho '使用(())、expr、let执行算术运算: + - * / %'
echo "请输入两个数字(使用空格分割):"
read num01 num02# 1.使用(())、expr、let执行算术运算: + 
num=`expr ${num01} + ${num02}`
echo "${num01} + ${num02} = ${num}"num=$((${num01} + ${num02}))
echo "${num01} + ${num02} = ${num}"let num=${num01}+${num02}
echo "${num01} + ${num02} = ${num}"# 2.使用(())、expr、let执行算术运算: -
num=`expr ${num01} - ${num02}`
echo "${num01} - ${num02} = ${num}"num=$((${num01} - ${num02}))
echo "${num01} - ${num02} = ${num}"let num=${num01}-${num02}
echo "${num01} - ${num02} = ${num}"# 3.使用(())、expr、let执行算术运算: *
num=`expr ${num01} \* ${num02}`
echo "${num01} * ${num02} = ${num}"num=$((${num01} * ${num02}))
echo "${num01} * ${num02} = ${num}"let num=${num01}*${num02}
echo "${num01} * ${num02} = ${num}"# 4.使用(())、expr、let执行算术运算: /
num=`expr ${num01} / ${num02}`
echo "${num01} / ${num02} = ${num}"num=$((${num01} / ${num02}))
echo "${num01} / ${num02} = ${num}"let num=${num01}/${num02}
echo "${num01} / ${num02} = ${num}"# 5.使用(())、expr、let执行算术运算: %
num=`expr ${num01} % ${num02}`
echo "${num01} % ${num02} = ${num}"num=$((${num01} % ${num02}))
echo "${num01} % ${num02} = ${num}"let num=${num01}%${num02}
echo "${num01} % ${num02} = ${num}"echo '6.验证: ==和!='if [ ${num01} == ${num02} ]; then
echo "输入的两个数相等"
fiif [ ${num01} != ${num02} ]; then
echo "输入的两个数不相等"
fi

1.3执行与输出

执行命令:bash b2023052401.sh

执行结果:

[root@hadoop211 tutorial]# bash b2023052401.sh 
使用(())、expr、let执行算术运算: + - * / %
请输入两个数字(使用空格分割):
100 2
100 + 2 = 102
100 + 2 = 102
100 + 2 = 102
100 - 2 = 98
100 - 2 = 98
100 - 2 = 98
100 * 2 = 200
100 * 2 = 200
100 * 2 = 200
100 / 2 = 50
100 / 2 = 50
100 / 2 = 50
100 % 2 = 0
100 % 2 = 0
100 % 2 = 0
6.验证: ==和!=
输入的两个数不相等

2.关系运算符

2.1运算符

关系运算符,只支持数字,不支持字符串。

-eq:检测两个数是否相等,如果相等返回true,否则返回false。

-ne:检测两个数是否不相等,如果不相等返回true,否则返回false。

-gt:检测左边数是否大于右边的数,如果是返回true,否则返回false。

-lt:检测左边数是否小于右边的数,如果是返回true,否则返回false。

-ge:检测左边数是否大于等于右边的数,如果是返回true,否则返回false。

-le:检测左边数是否小于等于右边的数,如果是返回true,否则返回false。

2.2脚本

脚本名称:b2023052402.sh

脚本内容:

#!/bin/bashecho '使用test命令和[]验证关系运算符.'
echo '关系运算符: -eq -ne -gt -lt -ge -le '
echo "请输入两个数字(使用空格分割):"
read num01 num02#1.使用-eq,检测两个数是否相等,如果相等返回true,否则返回false.
echo '1.[]和test命令分别和-eq组合应用'
if [ ${num01} -eq ${num02} ];thenecho "${num01} -eq ${num02} : 两数相等."
else echo "${num01} -eq ${num02} : 两数不相等."
fiif test $[num01] -eq $[num02];thenecho "${num01} -eq ${num02} : 两数相等."
else echo "${num01} -eq ${num02} : 两数不相等."
fi #2.使用-ne,检测两个数是否不相等,如果不相等返回true,否则返回false.
echo '2.[]和test命令分别和-ne组合应用'
if [ ${num01} -ne ${num02} ];thenecho "${num01} -ne ${num02} : 两数不相等."
elseecho "${num01} -ne ${num02} : 两数相等."
fiif test $[num01] -ne $[num02];thenecho "${num01} -ne ${num02} : 两数不相等."
elseecho "${num01} -ne ${num02} : 两数相等."
fi#3.使用-gt,检测左边数是否大于右边的数,如果是返回true,否则返回false.
echo '3.[]和test命令分别和-gt组合应用'
if [ ${num01} -gt ${num02} ];thenecho "${num01} -gt ${num02} : 左边的数大于右边的数"
elseecho "${num01} -gt ${num02} : 左边的数不大于右边的数"
fiif test $[num01] -gt $[num02];thenecho "${num01} -gt ${num02} : 左边的数大于右边的数"
elseecho "${num01} -gt ${num02} : 左边的数不大于右边的数"
fi#4.使用-lt,检测左边数是否小于右边的数,如果是返回true,否则返回false.
echo '4.[]和test命令分别和-lt组合应用'
if [ ${num01} -lt ${num02} ];thenecho "${num01} -lt ${num02} : 左边的数小于右边的数"
elseecho "${num01} -lt ${num02} : 左边的数不小于右边的数"
fiif test $[num01] -lt $[num02];thenecho "${num01} -lt ${num02} : 左边的数小于右边的数"
elseecho "${num01} -lt ${num02} : 左边的数不小于右边的数"
fi#5.使用-ge,检测左边数是否大于等于右边的数,如果是返回true,否则返回false.
echo '5.[]和test命令分别和-ge组合应用'
if [ ${num01} -ge ${num02} ];thenecho "${num01} -ge ${num02} : 左边的数大于等于右边的数"
elseecho "${num01} -ge ${num02} : 左边的数小于右边的数"
fiif test $[num01] -ge $[num02];thenecho "${num01} -ge ${num02} : 左边的数大于等于右边的数"
elseecho "${num01} -ge ${num02} : 左边的数小于右边的数"
fi#6.使用-le,检测左边数是否小于等于右边的数,如果是返回true,否则返回false.
echo '6.[]和test命令分别和-le组合应用'
if [ ${num01} -le ${num02} ];thenecho "${num01} -le ${num02} : 左边的数小于等于右边的数"
elseecho "${num01} -le ${num02} : 左边的数大于右边的数"
fiif test $[num01] -le $[num02];thenecho "${num01} -le ${num02} : 左边的数小于等于右边的数"
elseecho "${num01} -le ${num02} : 左边的数大于右边的数"
fi

2.3执行与输出

执行命令:bash b2023052402.sh

执行结果:

[root@hadoop211 tutorial]# bash b2023052402.sh 
使用test命令和[]验证关系运算符.
关系运算符: -eq -ne -gt -lt -ge -le 
请输入两个数字(使用空格分割):
99 888
1.[]和test命令分别和-eq组合应用
99 -eq 888 : 两数不相等.
99 -eq 888 : 两数不相等.
2.[]和test命令分别和-ne组合应用
99 -ne 888 : 两数不相等.
99 -ne 888 : 两数不相等.
3.[]和test命令分别和-gt组合应用
99 -gt 888 : 左边的数不大于右边的数
99 -gt 888 : 左边的数不大于右边的数
4.[]和test命令分别和-lt组合应用
99 -lt 888 : 左边的数小于右边的数
99 -lt 888 : 左边的数小于右边的数
5.[]和test命令分别和-ge组合应用
99 -ge 888 : 左边的数小于右边的数
99 -ge 888 : 左边的数小于右边的数
6.[]和test命令分别和-le组合应用
99 -le 888 : 左边的数小于等于右边的数
99 -le 888 : 左边的数小于等于右边的数

3.布尔运算符

3.1运算符

布尔运算符一般是与、或、非。

!:非运算,如果表达式为true,否则返回false。

-o:或运算,只要有一个表达式为true,则返回true,否则返回false。

-a:与运算,两个表达式都为true,则返回true,否则返回false。

3.2脚本

脚本名称:b2023052403.sh

脚本内容:

#!/bin/bashecho '使用test命令和[]验证布尔运算符.'
echo '布尔运算符: ! -o -a '
echo "请输入两个数字(使用空格分割):"
read num01 num02#1.使用!,非运算,如果表达式为true,否则返回false.
echo '1.[]和test命令分别和!组合应用,使用!优先级低且需要空格'
if [ ! ${num01} -gt ${num02} ];thenecho "${num01} -gt ${num02} : 左边的数大于右边的数(表达式取!结果)"
elseecho "${num01} -gt ${num02} : 左边的数不大于右边的数(表达式取!结果)"
fiif test ! $[num01] -gt $[num02];thenecho "${num01} -gt ${num02} : 左边的数大于右边的数(表达式取!结果)"
elseecho "${num01} -gt ${num02} : 左边的数不大于右边的数(表达式取!结果)"
fi#2.使用-o,或运算,只要有一个表达式为true,则返回true,否则返回false.
echo '2.[]和test命令分别和-o组合应用'
if [ ${num01} -gt 999 -o ${num02} -lt 88  ];thenecho "${num01}大于999或者${num02}小于88,判断表达式返回: true"
elseecho "其它情况,判断表达式返回: false"
fiif test  ${num01} -gt 999 -o ${num02} -lt 88 ;thenecho "${num01}大于999或者${num02}小于88,判断表达式返回: true"
elseecho "其它情况,判断表达式返回: false"
fi#3.使用-a,与运算,两个表达式都为true,则返回true,否则返回false.
echo '3.[]和test命令分别和-a组合应用'
if [ ${num01} -gt 999 -a ${num02} -lt 88  ];thenecho "${num01}大于999或者${num02}小于88,判断表达式返回: true"
elseecho "其它情况,判断表达式返回: false"
fiif test  ${num01} -gt 999 -a ${num02} -lt 88 ;thenecho "${num01}大于999或者${num02}小于88,判断表达式返回: true"
elseecho "其它情况,判断表达式返回: false"
fi

3.3执行与输出

执行命令:bash b2023052403.sh

执行结果:

[root@hadoop211 tutorial]# bash b2023052403.sh 
使用test命令和[]验证布尔运算符.
布尔运算符: ! -o -a 
请输入两个数字(使用空格分割):
800 120
1.[]和test命令分别和!组合应用,使用!优先级低且需要空格
800 -gt 120 : 左边的数不大于右边的数(表达式取!结果)
800 -gt 120 : 左边的数不大于右边的数(表达式取!结果)
2.[]和test命令分别和-o组合应用
其它情况,判断表达式返回: false
其它情况,判断表达式返回: false
3.[]和test命令分别和-a组合应用
其它情况,判断表达式返回: false
其它情况,判断表达式返回: false

4.逻辑运算符

4.1运算符

逻辑运算符包括&&和||。

&&:逻辑与运算,全部为true,则为true,否则返回false。

||:逻辑或运算,有一个为true,则为true,否则返回false。

4.2脚本

脚本名称:b2023052404.sh

脚本内容:

#!/bin/bashecho '使用test命令和[]验证逻辑运算符.'
echo '逻辑运算符: || && '
echo "请输入两个数字(使用空格分割):"
read num01 num02#1.使用||,逻辑或运算,有一个为true,则为true,否则返回false.
echo '1.[]和test命令分别和||组合应用'
if [[ ${num01} -gt 999 || ${num02} -lt 88 ]];thenecho "${num01}大于999或者${num02}小于88,判断表达式返回: true"
elseecho "其它情况,判断表达式返回: false"
fiif test  ${num01} -gt 999 || test ${num02} -lt 88 ;thenecho "${num01}大于999或者${num02}小于88,判断表达式返回: true"
elseecho "其它情况,判断表达式返回: false"
fi#2.使用&&,逻辑与运算,全部为true,则为true,否则返回false.
echo '2.[]和test命令分别和&&组合应用'
if [[ ${num01} -gt 999 && ${num02} -lt 88 ]];thenecho "${num01}大于999或者${num02}小于88,判断表达式返回: true"
elseecho "其它情况,判断表达式返回: false"
fiif test ${num01} -gt 999 && test ${num02} -lt 88 ;thenecho "${num01}大于999或者${num02}小于88,判断表达式返回: true"
elseecho "其它情况,判断表达式返回: false"
fi

4.3执行与输出

执行命令:bash b2023052404.sh

执行结果:

[root@hadoop211 tutorial]# bash b2023052404.sh 
使用test命令和[]验证逻辑运算符.
逻辑运算符: || && 
请输入两个数字(使用空格分割):
800 60
1.[]和test命令分别和||组合应用
800大于999或者60小于88,判断表达式返回: true
800大于999或者60小于88,判断表达式返回: true
2.[]和test命令分别和&&组合应用
其它情况,判断表达式返回: false
其它情况,判断表达式返回: false

5.字符串运算符

5.1运算符

字符串运算符,检测字符串相关功能。

=:检测两个字符串是否相等,相等则为true,否则返回false。

!=:检测两个字符串是否不相等,不相等则为true,否则返回false。

-z:检测字符串长度是否为0,为0则返回true,否则返回false。

-n:检测字符串长度是否不为0,不为0则返回true,否则返回false。

$:检测字符串是否不为空,不为空返回true,否则返回false。

5.2脚本

脚本名称:b2023052405.sh

脚本内容:

#!/bin/bashecho '字符串运算符: = != -z -n $ '
echo "请输入3个字符串(使用空格分割):"
read str01 str02 str03#1.使用=,检测两个字符串是否相等,相等则为true,否则返回false.建议使用[[]]
if [[ ${str01} = ${str02} ]];thenecho "${str01} 和 ${str02} 相等"
else echo "${str01} 和 ${str02} 不相等"
fi#2.使用!=,检测两个字符串是否不相等,不相等则为true,否则返回false.建议使用[[]]
if [[ ${str01} != ${str02} ]];thenecho "${str01} 和 ${str02} 不相等"
elseecho "${str01} 和 ${str02} 相等"
fi#3.使用-z,检测字符串长度是否为0,为0则返回true,否则返回false.
if [ -z ${str03} ];thenecho "${str03}: 字符串长度为 0"
elseecho "${str03}: 字符串长度不为 0"
fi#4.使用-n,检测字符串长度是否不为0,不为0则返回true,否则返回false.
if [ -n "${str03}" ];thenecho "${str03}: 字符串长度不为 0"
elseecho "${str03}: 字符串长度为 0"
fi#5.使用$,检测字符串是否不为空,不为空返回true,否则返回false.
if [ ${str03} ];thenecho "${str03}: 字符串不为空"
elseecho "${str03}: 字符串为空"
fi

5.3执行与输出

执行命令:bash b2023052405.sh

执行结果:

[root@hadoop211 tutorial]# bash b2023052405.sh 
字符串运算符: = != -z -n $ 
请输入3个字符串(使用空格分割):
suzhou hangzhou shanghai
suzhou 和 hangzhou 不相等
suzhou 和 hangzhou 不相等
shanghai: 字符串长度不为 0
shanghai: 字符串长度不为 0
shanghai: 字符串不为空

6.文件检测运算符

6.1运算符

文件检测运算符检测文件属性,file,表示文件名或者目录名。

-b file:检测文件是否是块设备文件,如果是,则返回true,否则返回false。

-c file:检测文件是否是字符设备文件,如果是,则返回true,否则返回false。

-d file:检测文件是否是目录,如果是,则返回true,否则返回false。

-f file:检测文件是否是普通文件,如果是,则返回true,否则返回false。

-g file:检测文件是否设置了SGID位,如果是,则返回true,否则返回false。

-k file:检测文件是否设置了粘着位(Sticky Bit),如果是,则返回true,否则返回false。

-p file:检测文件是否是有名管道,如果是,则返回true,否则返回false。

-u file:检测文件是否是设置了SUID位,如果是,则返回true,否则返回false。

-r file:检测文件是否可读,如果是,则返回true,否则返回false。

-w file:检测文件是否可写,如果是,则返回true,否则返回false。

-x file:检测文件是否可执行,如果是,则返回true,否则返回false。

-s file:检测文件是否为空(文件大小是否大于0),如果不为空,则返回true,否则返回false。

-e file:检测文件(包括目录)是否存在,如果是,则返回true,否则返回false。

-S file:判断文件是否为socket,如果是,则返回true,否则返回false。

-L file:检测文件是否存在且是一个符号连接。

可以使用命令:ll,查看文件类型。

6.2脚本

脚本名称:b2023052406.sh

脚本内容:

#!/bin/bashfile01=/dev/sda1
file02=/dev/mem
file03=/dev/net
file04=/home/tutorial/t2023052402.txt
#增加sgid权限(针对目录)
#chmod 2755 /home/tutorial/t2023052405/
file05=/home/tutorial/t2023052405/
#增加sticky bit权限
#chmod -R 1777 /home/tutorial/t2023052406
file06=/home/tutorial/t2023052406
#增加有名管道
#mkfifo /home/tutorial/t2023052403
file07=/home/tutorial/t2023052403
#增加suid权限(针对可执行文件)
#chmod 4755 /home/tutorial/t2023052408.sh
file08=/home/tutorial/t2023052408.sh
file09=/home/tutorial/t2023052401.sh
file10=/home/tutorial/t2023052401.sh
file11=/home/tutorial/t2023052401.sh
file12=/home/tutorial/t2023052401.sh
file13=/home/tutorial/t2023052401.sh
file14=/dev/log
file15=/dev/stdin#1.使用-b file,检测文件是否是块设备文件,如果是,则返回true,否则返回false.
if [ -b $file01 ] ;thenecho "$file01 :是块设备文件"
elseecho "$file01 :不是块设备文件"
fi #2.使用-c file,检测文件是否是字符设备文件,如果是,则返回true,否则返回false.
if [ -c $file02 ] ;thenecho "$file02 :是字符设备文件"
elseecho "$file02 :不是字符设备文件"
fi#3.使用-d file,检测文件是否是目录,如果是,则返回true,否则返回false.
if [ -d $file03 ] ;thenecho "$file03 :是目录"
elseecho "$file03 :不是目录"
fi#4.使用-f file,检测文件是否是普通文件,如果是,则返回true,否则返回false.
if [ -f $file04 ] ;thenecho "$file04 :是普通文件"
elseecho "$file04 :不是普通文件"
fi#5.使用-g file,检测文件是否设置了SGID位,如果是,则返回true,否则返回false.
if [ -g $file05 ] ;thenecho "$file05 :设置了SGID位"
elseecho "$file05 :没设置SGID位"
fi#6.使用-k file,检测文件是否设置了粘着位(Sticky Bit),如果是,则返回true,否则返回false.
if [ -k $file06 ] ;thenecho "$file06 :设置了粘着位(Sticky Bit)"
elseecho "$file06 :没设置粘着位(Sticky Bit)"
fi
#7.使用-p file,检测文件是否是有名管道,如果是,则返回true,否则返回false.
if [ -p $file07 ] ;thenecho "$file07 :是有名管道"
elseecho "$file07 :不是有名管道"
fi
#8.使用-u file,检测文件是否是设置了SUID位,如果是,则返回true,否则返回false.
if [ -u $file08 ] ;thenecho "$file08 :设置了SUID位"
elseecho "$file08 :没设置SUID位"
fi
#9.使用-r file,检测文件是否可读,如果是,则返回true,否则返回false.
if [ -r $file09 ] ;thenecho "$file09 :文件有可读权限"
elseecho "$file09 :文件没有可读权限"
fi
#10.使用-w file,检测文件是否可写,如果是,则返回true,否则返回false.
if [ -w $file10 ] ;thenecho "$file10 :文件有写权限"
elseecho "$file10 :文件没有写权限"
fi
#11.使用-x file,检测文件是否可执行,如果是,则返回true,否则返回false.
if [ -x $file11 ] ;thenecho "$file11 :文件是可执行权限"
elseecho "$file11 :文件没有可执行权限"
fi
#12.使用-s file,检测文件是否为空(文件大小是否大于0),如果不为空,则返回true,否则返回false.
if [ -s $file12 ] ;thenecho "$file12 :文件大小大于0"
elseecho "$file12 :是一个空文件"
fi
#13.使用-e file,检测文件(包括目录)是否存在,如果是,则返回true,否则返回false.
if [ -e $file13 ] ;thenecho "$file13 :文件存在"
elseecho "$file13 :文件不存在"
fi
#14.使用-S file,判断文件是否为socket,如果是,则返回true,否则返回false.
if [ -S $file14 ] ;thenecho "$file14 :是socket"
elseecho "$file14 :不是否为socket"
fi
#15.使用-L file,检测文件是否存在且是一个符号连接.
if [ -L $file15 ] ;thenecho "$file15 :是一个符号连接"
elseecho "$file15 :不是一个符号连接"
fi

6.3执行与输出

执行命令:bash b2023052406.sh

执行结果:

[root@hadoop211 tutorial]# bash b2023052406.sh 
/dev/sda1 :是块设备文件
/dev/mem :是字符设备文件
/dev/net :是目录
/home/tutorial/t2023052402.txt :是普通文件
/home/tutorial/t2023052405/ :设置了SGID位
/home/tutorial/t2023052406 :设置了粘着位(Sticky Bit)
/home/tutorial/t2023052403 :是有名管道
/home/tutorial/t2023052408.sh :设置了SUID位
/home/tutorial/t2023052401.sh :文件有可读权限
/home/tutorial/t2023052401.sh :文件有写权限
/home/tutorial/t2023052401.sh :文件是可执行权限
/home/tutorial/t2023052401.sh :文件大小大于0
/home/tutorial/t2023052401.sh :文件存在
/dev/log :是socket
/dev/stdin :是一个符号连接

以上,感谢。

2023年5月27日


http://www.ppmy.cn/news/96056.html

相关文章

基于SSM的甜品店商城系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着社会经济的发展和…

计算机网络四 网络层

网络层的作用 网络层是计算机网络中的一个重要层次,它的主要作用是实现不同网络之间的通信和数据传输。网络层通过将数据分组并添加路由信息,使得数据可以在不同的网络之间传输。 网络层功能 异构网络互连 异构网络互连是指将不同类型的网络连接起来…

Python实现ACO蚁群优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁群优化算法(Ant Colony Optimization, ACO)是一种源于大自然生物世界的新的仿生进化算法&#xff0c…

【2024最新】Spring面试题

✅✅作者主页:🔗请你喝杯Java的博客 🔥🔥精选专栏:🔗Java求职一条龙(持续更新中) 💞💞觉得文章还不错的话欢迎大家点赞👍➕收藏⭐️➕评论💬支持博主🤞 👉 👉你的一键三连是我更新的最大动力❤️❤️ 【2024最新】Spring面试题 一.Spring中@Resource…

【Linxu网络服务】LAMP架构

LAMP架构 一、LAMP架构1.1LAMP架构的组件 二、编译安装Apache httpd服务三、编译安装mysqld服务四、编译安装PHP解析环境六、安装论坛 一、LAMP架构 1.1LAMP架构的组件 (平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与…

as-if-serial原则

as-if-serial语义 as-if-serial语义不管怎么重排序(编译器和处理器为了提高并行度),(单线程)程序的执行结果不能被改变编译器、runtime和处理器都必须遵守as-if-serial语义。为了遵守as-if-serial语义,编…

软考A计划-试题模拟含答案解析-卷二

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

ldd 脚本分析

文章目录 1. 背景2. 查看ldd源码3. ldd 源码分析4. ldd 指令移植5. 总结 ldd 脚本分析 1. 背景 在开发某嵌入式平台时,发现没有动态库依赖查看工具ldd,后来几经搜索与源码分析,将相关记录一下。 2. 查看ldd源码 ldd 指令本质 ldd 本质不是一…