得之我幸 失之我命

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.

想要打包一个文件夹,本意是想用 tar 的 -C 参数处理文件路径,结果操作失误,忘记写了压缩文件名,生成了 ‘-C’ 的压缩文件

1
2
3
$ tar -czvf -C test/
$ ls
-C

Read More...


话在前头,为什么本文是整数运算,因为 bash 本身不支持浮点型的运算,换言之,bash 本身能做的也就整数类型的运算

谈一谈在 shell 中进行整数运算的几种方案

  1. r=$((1+2*3))
  2. r=`expr 1 \+ 2 \* 3`
  3. r=$[1+2] |
  4. declare -i r=1+2*3 |
  5. let r=1+2 |

Read More...


突然就想不起来怎么把本地分支推送到远端了,后来才想起来,问题似乎出在往常远端分支名和本地分支名是一致的,而这次本地分支名取错了,远端分支名想拨乱反正,于是就产生了两个分支名不同的情况,而且是在公司的代码库,乱搞搞肯定是不行的了,那怎么办?

假设我现在有个分支

1
2
3
4
$ git checkout -b local_branch
$ git status # 星号(*)表示当前所在分支
* local_branch
master

Read More...


stash 部分文件

在执行 sct 的时候,往往需要做一些修改提高 case 的运行速度,一段时间以后,当代码库需要更新的时候,直接 git pull --rebase 显然是不行的,因为本地代码库不干净了,这个时候问题又来了,我明明只改动了一部分文件用于本地执行提速,为什么代码库多了这么多不相干的文件改动?想要 git checkout . 又会把提速的改动给还原,怎么办,直接 git stash 显然也是不行的

Read More...


能进就能退,能加就能减,在 git 中熟悉撤销改动的方法必不可缺,在这个全组 git 的现状下,多掌握一项技能,就多了一个装 13 的高光时刻

撤销改动,必须知道的两个工具:reset 和 revert

Read More...


一个失误导致不应该提交的代码被 commit,赶紧通过 rebase 把 commit drop 掉,可是,这个操作会将本地的改动也一并删除

怎么办,写了一个下午的 shell 脚本就这样一朝回到解放前,oh no,不应该是这样的

重写?太多了吧

我用的是 git,赶紧搜一下,一定有能够恢复 commit 的方法,commit 就 commit 吧,丢了就真的是得不偿失了

Read More...


shell 中能遇到的括号很多,本次涉及的括号有 ()、(())、[]、[[]]、{},后续遇到更多的括号再补充

在入正题之前,先说说 $ 后的一些括号

  1. ${variable} 变量 variable 的值, 在不引起歧义的情况下可以省略大括号

  2. $(command) 命令替换,和 `command` 效果相同,结果为 shell 命令 command 的输出,但是某些版本的 shell 不支持 $() 形式的命令替换, 如 tcsh

  3. $((expression))、$[expression] 和 `expr expression` 效果相同,计算数学表达式 exp 的数值,其中 exp 只要符合 C 语言的运算规则即可,三目运算符和逻辑表达式都可以计算

Read More...


the only present love demands is love