在bash里可以用 $(( )) 做算术运算,里面类似C语法,变量名前都不需要加$。
成都创新互联从2013年开始,先为大东等服务建站,大东等地企业,进行企业商务咨询服务。为大东企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
total=$((firstn*secon))
或者用shell内建命令let也可以(推荐这种,不同shell间兼容性好)
let total=firstn*secon
用expr做运算是最通常的方法。不过用起来不方便(乘号还需要转义),容易出错。
total=`expr $firstn \* $secon`
用bc做运算也属于常用方法,但你这样做开销大(管道|会新建shell去运行后面的命令;bc属于外部程序调用,非shell内建命令),不是首选方法,从性能上来讲是这几种方法中最差的。
在linux中编写一个*.sh的文件提示找不到命令是设置错误造成的,解决方法为:
1、下载您要安装的软件。必要的文件通常将被压缩为.tar,.tgz或.zip文件。
2、打开一个终端窗口。输入cd ~/path/to/the/extracted/folder并按 Enter。用包含install.sh文件的文件夹的完整路径替换“ path / to / the / extracted / folder”。
3、输入chmod +x install.sh并按 Enter。如果安装程序的名称不是“ install.sh”,则键入其名称。这使安装程序文件可执行。您将不会从该命令中看到任何确认消息。
4、输入sudo bash install.sh并按 Enter。同样,如有必要,请用.sh文件的名称替换“ install.sh”。
5、输入root密码,然后按 Enter。这将开始安装您的应用程序。
command 2/dev/null #就不显示错误
command 1/dev/null 2/dev/null #取消所有输出
其中command是要调用的脚本,其后的内容不算作参数,被shell直接解析如果改成
command 2file
就会将错误重定向到file文件
unload到分号是给sqlplus执行的。 导出tbl_account_inf_icbc这个表到tbl_account_inf_icbc.data文件。
编写shell脚本在这种情况下都是用变量来存放命令的结果,用单引号把命令括起来会被当成字符串,for循环会把字符串的每一个字符取出依次打印出来。所以正确的写法应该是这样:
content=$ (cat /bash/test.txt)
for i in $content
do
echo $i
done