2016-12-08
.bashrc文件主要保存个人的一些个性化设置,如命令别名、路径、自定义函数等
每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。 一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取~/.bash_profile文件,这样~/.bashrc也就得到执行了,你的个性化设置也就生效了。 Shell参数扩展${parameter:+expression},如果parameter有值且不为空,则使用expression的值
数值计算:
整数:let、[]、(()) 浮点数:expr、bc
如:
let result=no1+no2
result=$[no1+no2]也可result=$[$no1+$no2]
使用(()),变量名前要加$
result=$((no+1))
输出重定向:
>覆盖文件,如:echo "This is a sample text1">temp.txt
>>追加到文件中,如:echo "This is a sample text2">>temp.txt
temp.txt的内容为“This is a sample text1\nThis is a sample text2"
文件描述符0、1、2
0——stdin(标准输入)
1——stdout(标准输出)
2——stderr(标准错误)
tee命令可以将前一个命令的输出作为stdin重定向到文件中,默认覆盖,-a表示追加
echo who is this | tee -a temp.txt
2016-12-09
定义数组
var=(1)
var[0]="a"
var[1]="b"
定义关联数组(hash)
declare A var
var[apple]="100dollars"
var=([apple]="100dollars" [orange]="50dollars")
echo ${var[*]}
获取终端信息
tput 、stty
日期处理
date +%s 获得当前秒数
星期 %a(Sat) %A(Saturday)
月 %b(Nov)%B(November)
日 %d
固定格式日期 %D(10/18/10)
年 %y(10)%Y(2010)
小时 %I或%H
分钟 %M
秒 %S
纳秒 %N
UNIX纪元时(秒) %s
延时命令sleep no_of_seconds
调试脚本
set -x 在执行命令时显示参数和命令
set +x禁止调试
set -v当命令进行读取时显示输入
set +v禁止打印输入
将bash文件中的shebang从#!/bin/bash改成#!/bin/bash -xv,不用其他选项就可以启用调试功能了
函数和参数
定义函数:
function fname()
{
statements;
}
调用函数:fname;
加参数调用:fname arg1 arg2;
函数中访问参数的方法:
$1第一个参数;$2第二个参数;$n第n个参数
$@被扩展成”$1""$2""$3"等
$*扩展成“$1c$2c$3",其中c是IFS的第一个字符
导出函数,函数的作用域就可以扩展到子进程中
export -f fname
$?可以给出命令的返回值(退出状态)