【shell】 用shell实现将IP地址逆转输出

# 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" ] ,语法依然正确。

当$? 不为空时,两者是一样的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容