bash和变量

2019-08-03  本文已影响0人  zxhChex

Bash 快捷键

ctrl +c 中断
+d 退出
+l 翻页
+r 历史
+u 删除光标前的内容
+k 删除光标后的内容
+a 光标移到最前面
+e 光标移到最后面

通配符

ls ; date
name=sharkw
echo name echo "name" 变量还会有
echo 'name' ' ' 里任何都无意义 强引(date +%F)

0 1 2
2>error.txt 1>&2
cat > catfile <<eof 多行输入
cat < inputinfo >>inputinfo
echo "hello" | cut -c 1-

stty -echo 隐藏命令 stty显示
alias unalias

jobs bg fg

history 查看历史命令
history -c 清除
!455 执行455条命令
!! 上一条命令
可以透过~/.bash_logout来进行history的记录,并加上date来增加时间参数
/etc/profile

/etc/issue 编辑一些简单的硬件及软件版本信息
/etc/motd 编辑这个文件,会在用户登录之后看到一些欢迎信息

ulimuit -n 查看进程最大数量多少

正则表达式 [: :]
digit 数字
lower 小写字元
upper 大写字元
alpha 任何英文大小写字元
alnum 任何英文和数字字元
'the'
'^the'
'o{2,5}'

变量
重复定义被覆盖
可用转意符 \ 将特殊符号(如 [Enter], , \, 空格符, 等)变成一般字符 在一串命令中,还需要藉由其他的命令提供的信息,可以使用反单引号 `命令` 或(命 令)(推荐这种)。那个反引号是键盘上方癿数字键1` 左边那个按键。

添加变量
PATH={PATH}:/tmp PATH=/tmp:{PATH}
export var 改成全局变量
unset var 取消变量

env // env 是 environment (环境) 的简写,默认的环境变量

set // 列出系统中所有的变量,包括自定义的变量

export 变量名 // 使自定义的变量 成为 环境变量,环境变量可以被继承

PS1:(提示字符的设置)

\d :可显示出“星期 月 日”的日期格式,如:"Mon Feb 2"
\H :完整的主机名称。
\h :仅取主机名称在第一个小数点之前的名字
\t :显示时间,为 24 小时格式的“HH:MM:SS”
\T :显示时间,为 12 小时格式的“HH:MM:SS”
\A :显示时间,为 24 小时格式的“HH:MM”
@ :显示时间,为 12 小时格式的“am/pm”样式
\u :目前使用者的帐号名称,如“dmtsai”;
\v :BASH 的版本信息
\w :完整的工作目录名称,由根目录写起的目录名称。
\W :仅会列出最后一个目录名。
# :下达的第几个指令。
:提示字符,如果是 root 时,提示字符为 # ,否则就是 $

数组
图片.png

不输入的默认设置

read -p "输入日期>:" input_date
input_date= ${input_date:-$(date +%F)}
echo "当前日期是:${input_date}"

// 计算 3 小时之后是几点几分
date +%T -d '3 hours'

// 任意日期的前 N 天,后 N 天的具体日期
date +%F -d "20190910 1 day"
date +%F -d "20190910 -1 day"

// 计算两个日期相差天数, 比如计算生日距离现在还有多少天
d1=$(date +%s -d 20180728)
d2=$(date +%s -d 20180726)
echo $(((d1-d2)/86400))

上一篇下一篇

猜你喜欢

热点阅读