shell tips - GingerLi/Record GitHub Wiki

##Get current working directory even PWD or working directory is not set

CWD="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

转义的\ 和 取变量的$

echo "Hello World" | sed 's/[^[:alnum:]|.]/\&/g'

echo "Hello World" | sed "s/[^[:alnum:]|.]/\\&/g"

var=`echo "Hello World" | sed 's/[^[:alnum:]|.]/\\&/g'`

结果一样:因为 " " 或 ``中的内容会当然字符串传入,被解析

类似的,在makefile中需要使用shell变量,需要$$

cp -rf

cp -rf srcPath/<Folder> desPath/<Folder>
在Folder名相同的情况下,是merge进desPath的Folder
所以如需要替换要先rm -rf desPath/<Folder>/*

shell 提示符

对于当前用户只需修改~/.bashrc,对于系统所有用户我们修改/etc/bashrc。

shell环境下默认的特殊符号意义:
\d :代表日期,格式为weekday month date,例如:”Sun Sep 18″
\H :完整的主机名称。例如:我的机器名称为:redhat.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为redhat.linux,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
# :下达的第几个命令
$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
\n :换行符

shell variables

variables variables variables Click here for more info:

⚠️ **GitHub.com Fallback** ⚠️