得之我幸 失之我命

when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.

起因

实不相瞒,茫茫 bash 世界,随着 shell 脚本看的越来越多,发现懂得东西也是越来越少,这不,上周在看 git bash 下 git_prompt.sh 的时候,又发现一个神奇的 ${PS1-}

Read More...


在开始探索之前,还是得再次夸一夸 Arch 的 wiki,虽然自己日常用的是 macOS 和 debian,但是好几次终端有关的问题,却都是通过 Arch 的 wiki 找到了我想要的答案,这次,兜兜转转,也还是让它又出了一份力

本文围绕的东西有:PS1、PS2、PS3、PS4、PROMOTE_COMMAND、ANSI escape code

Read More...


入乡随俗,git 来到了一个父系社会的国度,也免不了有自己的家族史,HEAD 作为这一代的 “头头”,自然也是要知道自己从哪儿来,祖宗十八代都得安排上,这时候就有个问题,如果只是单纯的画图,等找到太爷爷那一代图就已经变得画不下了,肯定得找个文字记录的方法,这时候,^ 和 ~ 标记就出现了

Read More...


起因

在定制 Win10 terminal 中的 git bash 的时候,想要在 title 中显示当前操作的目录来区分各个终端,然后是开始各种搜索,网上大多给出的解决方法都是如下方案

1
$ echo -ne "\033]0;title\007"  # -e 使转义字符生效;-n 内容输出后不换行

这时候,终端的 title 就会变成 title 了

Read More...


偷懒大法好,直接上这,获取定制 PS1 的变量值吧

拿某个 PS1 变量举例吧

1
2
3
4
5
6
7
8
9
$ echo $PS1
\[\033[1;35m\]\T\[\033[0m\]User:\[\033[1;33m\]\u\[\033[0m\]Dir:\[\033[1;32m\]\w\[\033[0m\]\n\$
# '\[\033[1;35m\]\T\[\033[0m\]':高亮品红当前时间(12小时) HH: MM: SS
# 'User:':User:
# '\[\033[1;33m\]\u\[\033[0m\]':高亮黄色当前用户名称
# 'Dir:':Dir:
# '\[\033[1;32m\]\w\[\033[0m\]':高亮绿色当前工作目录
# '\n':换行
# '\$':根用户为 #,其它用户为 $

Read More...


明明配置了 ssh 公钥,却还是不能在登录服务器的时候免去输入密码的过程,这是为啥?大概率是因为你忽略了一个叫 authorized_keys 的东西

Read More...


踩坑,bash 的单引号和双引号的坑,首先给出结论,两者差距还是蛮大的

' 跟 " 的不同,主要是对于某些 meta 的关闭与否,以 $ 來作说明:

1
2
3
4
5
$ A=B\ C
$ echo "$A"
B C
$ echo '$A'
$A

在第一个 echo 命令行中,$ 被置于 soft quote 中,將不被关闭,继续处理变量替换,因此 echo 將 A 的变量值输出到屏幕,也就得到 “B C” 的结果

在第二个 echo 命令行中,$ 被置于 hard quote 中,则被关闭,因此 $ 只是一个 $ 符号,并不会用來作变量替换处理,因此结果是 $ 符号后面接一个 A 字母:$A

Read More...


the only present love demands is love