linux脚本

来源:互联网 发布:淘宝商城新百伦 编辑:程序博客网 时间:2024/05/21 01:55

最近在写linux脚本,才开始学习,记录一下学习中遇到的几个问题:

1.关于输出语句echo和printf语句。

echo -e "tiancai1912\t \n"

这样可以输出制表符和换行,但是如果多条语句输出,而且想要统一制表符的宽度的话,感觉echo还是不够好,所以选择了用printf语句。

printf "%-25s" "tiancai1912"

这样就可以统一长度了,多条字符串不同长度都可以统一起来,多余地方用空格填充了。


举例:

echo 样式:

hahahaha                 ......[true]

xixi                    ......[true]


printf样式:

hahahaha                 ......[true]

xixi                              ......[true]

结论:制表符宽度虽然是固定的,但是随着不同字符串长度,这个宽度可能不像自己想的那样对齐全。

补充一点:prntf中\r转义字符可以使得打印出信息后,光标回到开头位置,这样好处是什么呢,可以做出以下效果

tiancai .....................

然后等待一秒后,出现

tiancai .....................[true]

这样的效果,其实是将这句话打印了两次,但是却在同一行,只是打印第一遍时候光标回到开头,再打印时候,第一句话被覆盖了。


2.关于字符串拼接以及一行输出一个字符串

字符串拼接可以这样写

name=""

name=${name}"tiancai1912 "

这样字符串就链接起来了,如果想把拼接起来的多个字符串一行一行输出的话,我采用的是以下方法:

for temp in $name

do

        echo "$temp"

done

这样就可以了。一开始我想用的是在拼接时候加上换行符,但是没有成功,不知道怎么添加,后来就放弃了。

效果:

name=xixi  haha  hehe tiancai1912

输出:

xixi

hah

hehe

tiancai1912

注意点:1.上面的name=${name}"tiancai1912 空格"    字符串tiancai1912后面有一个空格。

                2. for 循环中$name不要加引号,否则输出有问题。


还有好多知识点还没写,比如0 1 2的用法,if 语句判断等等,等有时间再补上吧。


0 0
原创粉丝点击