您的位置:首页 > 运维架构 > Shell

Shell脚本笔记

2016-10-23 22:37 176 查看
1、Home目录下的
~/.bashrc
脚本文件记录提示文本颜色等各类设置

2、Bash历史记录文件
~/.bash_history


3、echo执行之后会添加换行符

4、Bash中不会对单引号变量求值,而是原样输出

5、
echo -e  "包含转义序列的字符串"


6、
var = value
不同于
var=value
,前者是相等操作,后者是赋值操作

7、export命令用来设置环境变量,PATH中添加路径
PATH="$PATH:/home/user/bin"


8、获得字符串长度,
length=${#var}


9、>是清空内容并写入文件,>>是追加文本

10、
0—stdin(标准输入)
1—stdout(标准输出)
2—stderr(标准错误)


11、>等同于1>,>>等同于1>>

12、
cmd 2>stderr.txt 1>stdout.txt


13、
some_command 2> /dev/null
,丢弃所有错误日志

14、tee命令接受来自stdin的数据,一份写入文件,一份作为后续命令的stdin。
cat a* | tee out.txt | cat -n


15、
tee -a 追加内容


16、打印数组元素内容
${array_var[0]}


17、打印数组所有值
${array_var[*]}


18、关联数组声明
declare -A ass_array
,关联数组相当于map

19、初始化关联数组,
ass_array=([index1]=var1 [index2]=var2)
,或者ass_array[index1]=var1

20、数组索引列表
${!array_ass[*])
,或者
${!array_ass[@]}


21、别名
alias new_command="command sequence"


22、一个新的进程生成时,都会执行
~/.bashrc
里的内容

23、别名使用,
alias rm='cp $@ ~/backup; rm $@'


24、在要执行的命令钱加入\是一个不错的安全实践

25、tar -cvf /tmp/etc.tar /etc    <==仅打包,不压缩!

26、tar -zcvf /tmp/etc.tar.gz /etc  <==打包后,以 gzip 压缩

27、tar -jcvf /tmp/etc.tar.bz2 /etc  <==打包后,以 bzip2 压缩
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 脚本 bash