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 | $ tar -czvf -C test/ |
话在前头,为什么本文是整数运算,因为 bash 本身不支持浮点型的运算,换言之,bash 本身能做的也就整数类型的运算
谈一谈在 shell 中进行整数运算的几种方案
突然就想不起来怎么把本地分支推送到远端了,后来才想起来,问题似乎出在往常远端分支名和本地分支名是一致的,而这次本地分支名取错了,远端分支名想拨乱反正,于是就产生了两个分支名不同的情况,而且是在公司的代码库,乱搞搞肯定是不行的了,那怎么办?
假设我现在有个分支
1 | $ git checkout -b local_branch |
在执行 sct 的时候,往往需要做一些修改提高 case 的运行速度,一段时间以后,当代码库需要更新的时候,直接 git pull --rebase 显然是不行的,因为本地代码库不干净了,这个时候问题又来了,我明明只改动了一部分文件用于本地执行提速,为什么代码库多了这么多不相干的文件改动?想要 git checkout . 又会把提速的改动给还原,怎么办,直接 git stash 显然也是不行的
能进就能退,能加就能减,在 git 中熟悉撤销改动的方法必不可缺,在这个全组 git 的现状下,多掌握一项技能,就多了一个装 13 的高光时刻
撤销改动,必须知道的两个工具:reset 和 revert
一个失误导致不应该提交的代码被 commit,赶紧通过 rebase 把 commit drop 掉,可是,这个操作会将本地的改动也一并删除
怎么办,写了一个下午的 shell 脚本就这样一朝回到解放前,oh no,不应该是这样的
重写?太多了吧
我用的是 git,赶紧搜一下,一定有能够恢复 commit 的方法,commit 就 commit 吧,丢了就真的是得不偿失了
shell 中能遇到的括号很多,本次涉及的括号有 ()、(())、[]、[[]]、{},后续遇到更多的括号再补充
在入正题之前,先说说 $ 后的一些括号
${variable} 变量 variable 的值, 在不引起歧义的情况下可以省略大括号
$(command) 命令替换,和 `command` 效果相同,结果为 shell 命令 command 的输出,但是某些版本的 shell 不支持 $() 形式的命令替换, 如 tcsh
$((expression))、$[expression] 和 `expr expression` 效果相同,计算数学表达式 exp 的数值,其中 exp 只要符合 C 语言的运算规则即可,三目运算符和逻辑表达式都可以计算
the only present love demands is love