shell脚本-数学计算&输入输出重定向

输出重定向:

就是说本来应该直接输出在屏幕上,现在要输出到某个文件里

#!/bin/bash

ls -l > text

就这样很简单,   >指向输出的位置,就是一个叫text的文件,如果没有这个文件,会在当前目录自动创建这个文件

永久输出重定向:

如果一个shell脚本里的所有输出,你都要转移到某个文件。那么一行一行的输入这个 > 也太麻烦了吧,所以,可以在脚本开始的时候,写入一个永久输出重定向

#!/bin/bash

exec 1>text1

echo "参数个数:$#"

echo "遍历开始"

那么所有的输出,都不会在屏幕上显示了,会重定向到text1这个文件里去了

那1表示什么呢,1是标准输出的意思,2是标准错误

exec 2>text1

比如说这样就表示将错误信息输出到text1

如果是追加,而不是覆盖的话,要用 >> 来表示。

输入重定向:

就是将某个文件的内容赋值给某个变量

#!/bin/bash

wc < text

echo $wc

比如此,但是输出的,并不是text文件里的内容,而是里面有几行,几个单词,多少个字节。

数学计算:

就是上一篇讲到的东西,这里再提一下:

#!/bin/bash

a=10

b=$[ $a * 20 ]

echo $b

这里就用到了算计,shell中的计算简写就是这样的固定格式,那原来的写法是啥呢?

b=$(expr $a *20 ) 

就是用expr关键字。这里是不支持浮点数的,只能是整数

若想用浮点数,则需要用bc命令 

一般是配合EOF重定向:

f=( bc << EOF

a1=30 * 40

a1/3

EOF

)

这样输出f,就能有小数点了

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

推荐阅读更多精彩内容

  • 内容一:Shell脚本语言-管道? ​分析场景:有的时候我们需要一个命令的输出作为另外一个命令输入? ​​ ​语法...
    Jackey_song阅读 3,229评论 0 1
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 13,447评论 3 53
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,185评论 2 33
  • bash学习 参考 Linux bash总结(一) 基础部分(适合初学者学习和非初学者参考)Linux 入门公开课...
    cndaqiang阅读 4,119评论 0 1
  • 迷失的人迷失了,相逢的人会再相逢。我们总会得到一些我们想得到的,失去一些我们不想失去的,这原本就是生活的节奏。感谢...
    海红豆的奇幻漂流之旅阅读 1,306评论 1 1