shell note 之前零散的学习了些linux shell的知识,这里就先记录下整理好的一部分,等以后再整理好其他的东西的时候再记录。现在cocos2d-x v3.0 alpha1已经开始讲shell脚本转移到python了,这样就会更少的使用shell脚本了,记录在这里以后也不好忘记了。
在子进程中执行脚本
./myshell.sh # 执行shell脚本 $(command list) # 新开一个base来执行该代码,command list的执行结果将直接在当前shell中重新执行 $(echo ls) # 子shell返回ls命令名,并在当前shell执行
产生一个子shell来执行脚本,脚本中的变量及路径跳转对当前终端没有影响
在当前shell进程中执行脚本
. ./myshell.sh source myshell.sh
上面脚本中的变量及路径跳转都会直接反应在当前终端里
shell 快速输入上一条命令的参数
命令本身是参数0,后面依次为1,2,3,4,5...
快捷键
Alt+.
快速输入上一条命令的最后一个参数
命令 !$
返回上一条命令的最后一个参数 !!:n-m
获取上一条命令的指定的参数,n,m都为正整数,0表示命令本身
!!:0 # 上一条命令的参数0 !!:1 # 上一条命令的参数1 !!:11 # 上一条命令的参数11 !!:1-3 # 上一条命令的参数1至3 !!:-3 # 上一条命令的参数0至3,默认0没有写 !$ # 上一条命令的最后一个参数 # 例子 echo a b c d # 所有下面的语句都要添加该代码 !!:0 # echo !!:1 # a !!:4 # d !!:1-3 # a b c !!:-3 # echo a b c !$ # d
子字符串替换
${var/target/replaced}
字符串替换,返回将var变量里的第一个target子串替换为replaced串,
target中可以使用*?通配符,注意这个是字符串替换,不是正则
${var//target/replaced} 同上,全局替换 var="this is input text" echo ${var/is/as} #thas is input text 将第一个is替换为as echo ${var/ /_} #this_is input text 将第一个空格替换为_ echo ${var/ ?/_} #this_s_input_text 将第一个空格及后面的一个字符替换为_ echo ${var/ */_} #this_ 将第一个空格及后面的所有字符都替换为_ echo ${var/* /_} #_text 将最后一个空格及前面的所有字符都替换为_ echo ${var// /_} #this_is_input_text 将所有空格替换为_
» 转载请注明来源:www.litefeel.com » 《shell笔记》
» 本文链接地址:https://www.litefeel.com/shell-note/
» 订阅本站:www.litefeel.com/feed/
» Host on Linode VPS
» 本文链接地址:https://www.litefeel.com/shell-note/
» 订阅本站:www.litefeel.com/feed/
» Host on Linode VPS
This post was last modified on 2019 年 02 月 28 日 01:23