1. color output
#! /bin/bash
# 30 40 black
# 31 41 red
# 32 42 gre
# 33 43 yel
# 34 44 blu
# 35 45 mega
# 36 46 cyan
# 37 47 white
#
# echo -e '\E[${FG};${BG}mSome text goes here.'
# FG=30 BG=46 TEXT=123 echo -e "\E[${FG};${BG}m${TEXT}" echo -ne "\E[0m"
function fn_echo_succ()
{
FG=32 BG=40
TEXT="$@"
echo -e "\E[${FG};${BG}m${TEXT}"
echo -ne "\E[0m"
return 0
}
function fn_echo_fail()
{
FG=31 BG=40
TEXT="$@"
echo -e "\E[${FG};${BG}m${TEXT}"
echo -ne "\E[0m"
return 0
}
2. fn_ooh
PS8="eval echo \$BASH_SOURCE\|\$LINENO\|\$FUNCNAME:"
ECHOFUNC="PRINT_LOG FATAL"
function fn_ooh()
{
if [ "${1}" -ne 0 ]; then
#echo "${2} [$1] ${*:3}"
${ECHOFUNC} "${2} [$1] ${*:3}"
fi
return ${1}
}
3. source 高境界, shell共享
[ "${BASH_SOURCE##*/}" != "${0##*/}" ] && echo ". command" && return 0
4. 设置变量__test__,并重置参数列表
function fn_main()
{
set -x
# below is for Testrunner
if [[ ${@:${#}} == __test__=* ]]; then
eval "${@:${#}}" && argv="${@}" && argv="${argv%__test__=*}"
[[ -n "$argv" ]] && set $argv || shift
PRINT_LOG() { echo $@; }
fi
echo $__test__
echo $@
} # -------- end of function _fn_main_ --------
fn_main onlygaga __test__=mygod
5. 简化版 __test__
function fn_main()
{
set -x
# below is for Testrunner
[[ ${@:${#}} == __test__ ]] && __test__=True && \
argv="${@}" && argv="${argv% __test__}" && set $argv
[[ -n $__test__ ]] && echo yes
} # -------- end of function _fn_main_ --------
6.
(0) 所有ip
ifconfig | sed -n '/^\w/{N;s/\(\w*\).*r:\([^ ]*\).*/\1 \2/p}'
eth0 10.0.2.15
lo 127.0.0.1
(1)
网口得到ip
ifconfig eth0| grep 'inet addr' | cut -d : -f 2 | cut -d ' ' -f1
# -f7 output is the content between 7th space and 6th space,
# -f1 content b4 1st space
7. ttp
"noremap ttp :sp /dev/shm/xm
ggVG"yy:q!Ay
noremap ttp mA:sp /dev/shm/xmggVGy:q!P`A
inoremap ttp mA:sp /dev/shm/xmggVGy:q!P`A
vmap tty y:!> /dev/shm/xm:sp /dev/shm/xmPGdd:wq!
8. 网线是否插上
SR2S3:~ # ip link show | grep "eth.:"
3: eth1: mtu 1500 qdisc pfifo_fast qlen 1000
ethtool eth1 | grep Link detected
9. vimrc
noremap ttF :cd /Od0i%\|=line('.')\|V"fyddu0:sp /.xmggVGdAfdd:cd -:wq
10. lvm
lvm的概念
磁盘分区 -> 物理分区 -> 物理卷 -> 卷组 -> 逻辑卷
fdisk -l -> fdisk /dev/sda -> pvcreate -> vgcreate-> lvcreate
fdisk -l */sda -> pvscan -> vgscan -> lvscan
lvm删除
lvremove -> vgreduce --removemissing -> vgremove -> pvremove
Linux中的分区不用格式化为LVM格式,Windows要
11. 重定向
exec 6>&1 # store stdin as 6
exec > /dev/null
exec 2>&1
body
exec 1>&6 6>&- # reload 6 to 1
12.
真理是辩出来的吗?看来对待这个命题,
抛物线,这理应是上过解析几何课的人都明白的概念。那么出一个命题:抛物线是抛出来的。
成功是做出来的吗?我想这个命题大概可以触痛部分人的理念基础。可实际上,成功,跟上面这个测试缺陷密度是同类概念,也分目标和结果两个层面。结果当然是做出来的,但理论上讲,只有结果与目标吻合才叫成功(超越目标的我们先不考虑)。那么,成功是做出来的吗?你会发现,你单靠做,是做不到的,还必须结合机遇的因素。这不难理解,因为制定目标的时候不能预测全实际过程中的噪声因素,所以追求成功,无非是在赌主观能动性大到能压得过那些过程噪声。你无法事先全弄清楚到底有哪些过程噪声,这让你的做的前景充满了不确定性(可以回忆一下《源代码》)。
心有多大,舞台就有多大,这句话反过来理解就是,人只能看到自己能看到的那一片。
阅读(1328) | 评论(0) | 转发(0) |