当前位置: 首页 > news >正文

长宁区网站建设网站长工具 怎么做网站地图

长宁区网站建设网,站长工具 怎么做网站地图,营销自动化,网站海外推广外包最近学习Linux Shell编程#xff0c;对 () (()) [] [[]]等符号的用法还是有点分不太清楚#xff0c;于是决定再梳理一下。今天先整理 () $() (()) 的用法。 1 单小括号() 1.1 子shell#xff08;命令组#xff09; 括号中的命令将会新开一个子shell顺序执行#xff0c;所…最近学习Linux Shell编程对 () (()) [] [[]]等符号的用法还是有点分不太清楚于是决定再梳理一下。今天先整理 () $() (()) 的用法。 1 单小括号() 1.1 子shell命令组 括号中的命令将会新开一个子shell顺序执行所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开最后一个命令可以没有分号各命令和括号之间不必有空格。 1.1.1 bash中 $ bash [csdn ~]$ i1; echo $i;(let i5; echo $i); echo $i 1 6 1 [csdn ~]$  1.1.2 在zsh中 # csdn edu in ~ [16:08:09]  $ i1; echo $i;(let i5; echo $i); echo $i 1 6 1 在上面的实例中执行命令i1; echo $i 时变量i初始为1 执行命令(let i5; echo $i);时会创建一个子shell来执行其中变量值i变为6 最后执行命令echo $i母shell中的变量i的值并没有继承子shell中的变化仍然为1 1.2 用于定义并初始化数组 如 a(1 2 3 4 a b c d)         定义了数组 a并初始化其中的元素值。 1.3 用于条件判断 1.3.1 bash中 [csdn ~]$ i1; if (test $i -lt 0); then; echo i0; else; echo i0; fi bash: syntax error near unexpected token ; [csdn ~]$ i1;while (test $i -lt 10); do echo $i; let i; done 1 2 3 4 5 6 7 8 9 1.3.2 在zsh中 # csdn edu in ~ [19:00:25] C:1 $ i1; if (test $i -lt 0); then; echo i0; else; echo i0; fi i0 # csdn edu in ~ [19:00:46]  $ i1;while (test $i -lt 10); do echo $i; let i; done           1 2 3 4 5 6 7 8 9 # csdn edu in ~ [19:00:52]  $ i1;while (test $i 10); do echo $i; let i; done zsh: no such file or directory: 10 # csdn edu in ~ [19:02:11]  $ i1;while (test $i ! 10); do echo $i; let i; done 1 2 3 4 5 6 7 8 9 2 $()命令替换 与 反引号相似都是用来作命令替换的即先完成()小拓号或 反引号里的命令行然后将其标准输出结果替换出来。 2.1 在bash中 [csdn ~]$ echo $(pwd;echo \\n; (cd /;echo path:;pwd); echo \\n; pwd) /home/csdn \\n path: / \\n /home/csdn [csdn ~]$ echo pwd;echo \\n; (cd /;echo path:;pwd); echo \\n; pwd /home/csdn \n path: / \n /home/csdn [csdn ~]$ echo pwd;echo \\n; (cd /;echo path:;pwd); echo \\n; pwd /home/csdn \n path: / \n /home/csdn [csdn ~]$ echo $(pwd;echo \\n; (cd /;echo path:;pwd); echo \\n; pwd) /home/csdn \n path: / \n /home/csdn [csdn ~]$ echo $(pwd;echo -e \\n; (cd /;echo path:;pwd); echo -e \\n; pwd) /home/csdn path: / /home/csdn [csdn ~]$  在上面的实例中我们先执行pwd命令显示当前目录路径/home/csdn 然后执行命令echo \\n来换行 接着打开一个子shell执行命令 (cd /;echo path:;pwd); 其中命令cd /将当前目录改为/再用pwd显示当前目录路径/ 然后我们执行命令echo \\n来换行 最后再用pwd显示当前目录路径/home/csdn 但是echo \\n命令没有实现换行用了-e选项还是不行。 2.2 在zsh中 # csdn edu in ~ [17:21:47]  $ echo $(pwd;echo \\n; (cd /;echo path:;pwd); echo \\n; pwd) /home/csdn   path: /   /home/csdn # csdn edu in ~ [17:22:07]  $ echo pwd;echo \\n; (cd /;echo path:;pwd); echo \\n; pwd /home/csdn path: / /home/csdn 同样的命令在zsh中执行正确换行也生效了。 注有些shell不支持这种使用方法如tcsh。 3 双小括号(())整数运算、进制转换 3.1 整数运算、比较 3.1.1 在bash中 # csdn edu in ~ [22:20:39]  $ bash [csdn ~]$ echo $((35)) 8 [csdn ~]$ echo $((8 6)) 1 [csdn ~]$ echo $((53 6)) 1 [csdn ~]$  3.1.2 在zsh中 [csdn ~]$ zsh # csdn edu in ~ [22:19:50]  $ echo $((35))       8 # csdn edu in ~ [22:20:11]  $ echo $((8 6)) 1 # csdn edu in ~ [22:20:27]  $ echo $((35 6)) 1 # csdn edu in ~ [22:20:39]  $  3.2 进制转换 $(( ))可以将其他进制转成十进制数显示出来。用法如下 $((N#x)) 其中N为进制x为该进制下某个数值命令执行后可以得到该进制数转成十进制后的值。   3.2.1 在bash中 $ bash [csdn ~]$ echo $((2#1000)) 8 [csdn ~]$ echo $((8#1000)) 512 [csdn ~]$ echo $((16#1000)) 4096 [csdn ~]$ echo $((16#1000 - 1000)) 3096 [csdn ~]$ echo $((16#1000 - 1000   2000))  bash: 16#1000 - 1000   2000: syntax error: invalid arithmetic operator (error token is 2000) [csdn ~]$ echo $(((16#1000 - 1000)   2000))  bash: (16#1000 - 1000)   2000: syntax error: operand expected (error token is 2000) [csdn ~]$ echo $(( $(16#1000 - 1000)   2000))  bash: 16#1000: command not found bash:   2000: syntax error: operand expected (error token is 2000) [csdn ~]$ i1000; $((16#$i-1000 2000)) bash: 1: command not found [csdn ~]$ i1000; $((16#${i}-1000 2000)) bash: 1: command not found [csdn ~]$ echo $((16#1000   2000))  bash: 16#1000   2000: syntax error: invalid arithmetic operator (error token is 2000) [csdn ~]$  在bash中可以顺利完成进制转换进制转换和运算但进制转换和比较不成功。 3.2.2 在zsh中 # csdn edu in ~ [15:08:45] C:1 $ echo $((2#1000)) 8 # csdn edu in ~ [15:08:52]  $ echo $((8#1000)) 512 # csdn edu in ~ [15:09:00]  $ echo $((16#1000)) 4096 # csdn edu in ~ [15:09:06]  $ echo $((16#1000 - 1000)) 3096 # csdn edu in ~ [15:11:31]  $ echo $((16#1000 - 1000   2000))  1 在zsh中可以顺利完成进制转换进制转换和运算进制转换、运算和比较。  在这点上zsh表现优于bash。 3.3 在(())中使用变量 3.3.1 在bash中 # csdn edu in ~ [15:24:06]  $ bash [csdn ~]$ i5;echo $((i9)) 14 [csdn ~]$ i12; echo $((8#i9)) bash: 8#i: value too great for base (error token is 8#i) [csdn ~]$ i12; echo $((8#${i}9)) 19 [csdn ~]$ i12; echo $((8#$i9)) 19 [csdn ~]$ i12; echo $((8#$i9 10)) 1 [csdn ~]$  3.3.2 在zsh中 csdn edu in ~ [15:22:38]  $ i5; echo $((i9)) 14 # csdn edu in ~ [15:23:00]  $ i12; echo $((8#i9)) zsh: bad math expression: operator expected at i9 # csdn edu in ~ [15:23:23] C:1 $ i12; echo $((8#${i}9))  19 # csdn edu in ~ [15:23:34]  $ i12; echo $((8#${i}9 10)) 1 在bash和zsh中在 (( )) 中使用变量一般不需要加上$前缀(( )) 会自动解析变量名这使得代码更加简洁也符合程序员的书写习惯。 但也有例外。比如 i12; echo $((8#i9)) bash和zsh都无法识其中的变量i于是我们要 用 $i 或 ${i}把变量i标记出来。 3.4 总结 shell类型整数运算比较算术比较进制转换进制转换算术比较bash√√√√×zsh√√√√√ 3.5 注意 (( )) 只能用于整数算不能用于小数浮点数或者字符串。要进行小数运算可以使用 bc 命令。
http://www.pierceye.com/news/399217/

相关文章:

  • 郑州餐饮网站建设哪家好零基础网站建设教学在哪里
  • 讲述做网站的电影建设工程公司名字大全
  • 易语言可以做网站管理系统吗网站备案查询工信部手机版
  • 珠海建站论坛淘宝客网站做一种还是做好几种
  • 杭州公司的网站建设公司教育网站制作运营
  • 福州手游网站建设长春火车站停运了吗
  • wordpress仿站博客视频教程建筑模板哪种好
  • 手机配件网站模板雇主品牌建设
  • 列车营销网站怎么做网站 审批号
  • 嘉定公司网站设计游仙建设局官方网站
  • 青山做网站西安十大网站制作公司
  • 网站服务器租用一年多少钱啊seo优化检测
  • 北京网站建设联系电话长春市网络科技有限公司
  • 软件下载网站免费大全济宁医院网站建设
  • 龙岩到永定株洲网站推广优化
  • 个人网站建设研究意义朔州seo网站建设
  • 怎样进入网站的后台视频网站建设方案书
  • 家具网站开发报告北斗导航2022最新版手机版
  • 好看的食品网站app图片怎么制作
  • 杭州做外贸网站wordpress给用户发送邮件
  • 政务服务 网站 建设方案软件外包平台哪家好
  • 上海千途网站建设网站建设 中企动力长沙
  • 网站建设产品介绍烟台定制网站建设电话
  • 公司内部网站设计客户关系管理策略
  • 个人开发网站要多少钱梅州市城乡建设局网站
  • 外贸公司网站案例建设银行报考网站
  • 网站设计建设步骤做暖网站
  • dw如何做网站界面全网推广外包公司
  • 企业网站数据库建设菠菜网站
  • 网站功能优化的方法营销型网站建设集装箱液袋