# cat revIP.sh
###########################################
#!/bin/bash
IP=220.112.253.111
IFS="." //将分隔符 点 换成 空格
TMPIP=$(echo $IP)
IFS=" "
echo $TMPIP
for x in $TMPIP ;do
Xip="${x}.$Xip" //循环取数,最终结果为 111.253.112.220.
done
echo ${Xip%.} //字符串截取,去掉最后一个点
###############################################
workspace=${workspace%/*} 这句shell语句什么意思?
shell字符串处理的掐头去尾法
# 表示掐头,% 表示去尾。
助记:键盘上的排列,# 在前面,% 在后面。
单个#或%的表示最小匹配,双个#或%表示最大匹配。
当匹配有多种方案的时候,选择匹配最大长度还是最小长度。
如:workspace 为 /home/user/test.txt
%/* 最小匹配只会去除/test.txt
%%/* 会去除最长字串 /home/user/test.txt,即整个字串都被去除了。
因此,workspace=${workspace%/*} 就表示去除最后的文件名称,得到纯路径。
######################################
Linux shell if [ X"$?" == X"0" ] 中间的大写 X 表示什么意思?
没什么含义,只是一个附加字符,为了
防止出现语法错误。比如 [ "abc" == "abc" ] 和 [ "Xabc" == "Xabc"]
如果不写X,当$?为空或未设置时,语句被解释为 if [ = "0" ], 出现语法错误。加上X后解释未 if [ X = X"0" ] ,语法依然正确。
当$? 不为空时,两者是一样的。