如何在CentBS中以与CentOS相同的方式实现FreeBSD中的expr功能?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在CentBS中以与CentOS相同的方式实现FreeBSD中的expr功能?相关的知识,希望对你有一定的参考价值。
我想从文件中获取一个数字并递增它。文件始终只包含一个数字。所以在Linux(CentOS)中,我可以这样做:
Tmp="an_num.tmp"
Tmpg=$(cat $Tmp)
Tmpi=$(expr $Tmpg + 1)
但我不能在FreeBSD中做同样的事情。据我了解,FreeBSD的expr版本不支持递增变量:expr $ Tmpg + 1
$ Tmp="an_num.tmp"
$ Tmpg=$(cat $Tmp)
$ Tmpi=$(expr $Tmpg + 1)
expr: syntax error
但我怎么能意识到呢?
$ uname -a FreeBSD srv 11.0-RELEASE-p1 FreeBSD 11.0-RELEASE-p1#0 r306420:Thu Sep 29 01:43:23 UTC 2016 root@releng2.nyi.freebsd.org:/ usr / obj / usr / src / sys / GENERIC amd64
FreeBSD默认使用不同的shell。安装bash(pkg install bash
),用bash
运行它,然后在那里运行你的脚本。或者,使用shebang line #!/usr/local/bin/bash
。
FreeBSD下的/ bin / sh不支持你期望的$()表示法,而是使用反引号(``)代替:
在/ bin / sh下的11.1-RELEASE-p4上测试:
Tmp="an_num.tmp"
Tmpg=`cat $Tmp`
Tmpi=`expr $Tmpg + 1`
以上是关于如何在CentBS中以与CentOS相同的方式实现FreeBSD中的expr功能?的主要内容,如果未能解决你的问题,请参考以下文章
如何以与 np.where 相同的方式使用 Tensorflow.where?
如何以与 iPhoto 相同的方式订购 ALAssetsGroup