Bsh 特殊变量

bsh具有几个特殊的变量,记录以备查阅:

$#    --    脚本参数的个数

$?     --    最近管道的退出状态,零为执行成功

$-      --    shell set指令设置的环境变量

$$     --    shell脚本的进程号,子shell进程号?

$!      --    shell脚本中最近后台执行的程序进程号,或者最近管道指令的进程号。

$*      --    传递给当前进程的参数,当置于一双引号中时展开为单一参数(一字符串)。

$@     --   传递给当前进程的参数,当置于一双引号中时各自展开为单独的参数(多个字符串)。

$0      --    shell简本自身名字,相当于C中的argv。

$[1-9]     --   shell脚本参数,相当于C中的argv + [0-9]。当大于9时需要用括号括住。

Posted by jc 2012年4月16日 05:15


newsbeuter RSS Reader

 

 # apt-get install newsbeuter
 $ vi ~/.newsbeuter/urls
 
http://rss.gmane.org/messages/excerpts/gmane.linux.drivers.i2c
 
 $ newsbeuter
   r # download current selected feed
   R # download all feeds
   # select one feed and press "Enter"
   q # quit
 

Posted by jc 2011年4月13日 03:59


Debian源密匙导入

 

 #**********加入163源后遇到的问题*********#
 
W: GPG error: http://security.debian.org stable/updates Release: 由于没有公钥,下列签名无法进行验证: NO_PUBKEY AED4B06F47    3041FA
 
# gpg --keyserver subkeys.pgp.net --recv-keys 473041FA
 
# gpg --armor --export 473041FA | apt-key add -
 

Posted by jc 2011年4月10日 04:05


编码转换工具

 

#*********iconv使用*********#
 
#列出可转换的字符集
$ iconv -l
 
#从一种字符集转换到另一种字符集
$ iconv -f <源文件的字符集> -t <目标字符集> <源文件名> > <新文件名>
 

Posted by jc 2011年4月10日 04:02


内核源代码查看工具cscope

#**********cscope配置使用***********#

1. 用find.sh生成文件cscope.files
2. 创建数据库指令:
    cscope -b -q -k
3. 进入数据库指令:
    cscope -d
4. 按ctrl+n向下移动,ctrl+p向上移动,选择查找类型
   按tab在菜单和查找结果列表中切换
5. 在查找结果列表中,移动方式和菜单中一样.
   或者按结果列表前的数字或字母进入.
   或者按+/-上下翻页.
6. 进入查找结果条目会自动打开vi,查看完成退出vi便返回cscope
7. ctrl+d退出cscope.

8. 在vi中工作:
   cscope可以在vi中查询而无须退出,方法就是:

   :cs f c name

# c是指查询的类型,详细解释如下. name就是你需要查询的东西.
c: Find functions calling this function
d: Find functions called by this function
e: Find this egrep pattern
f: Find this file
g: Find this definition
i: Find files #including this file
s: Find this C symbol
t: Find assignments to

# 在vi模式下如何在查找结果中移动
  屏幕/页/行    上翻:    空格/d/j    下翻:    b/u/k
  按q然后输入查找结果条目前的数字即可进入.
# 以上介绍的前提是在打开vi时已经加载数据库,否则无效.
  加载办法为,在.vimrc中加入:
  :cs add ${数据库的路径}/cscope.out ${数据库的路径}/cscope  
  set cscopequickfix=s-,c-,d-,i-,t-,e-

# 键盘映射方式

 

      nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>
      nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR>
      nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR>
      nmap <C-\>t :cs find t <C-R>=expand("<cword>")<CR><CR>
      nmap <C-\>e :cs find e <C-R>=expand("<cword>")<CR><CR>
      nmap <C-\>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
      nmap <C-\>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
      nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR>
  
    键盘的敲击方法就是ctrl+ \ + g
 
# cstag + taglist + cscope 
 
    先在目录下:
 
$ cstag -R
 
    然后在.vimrc增加:
 
:set tags=$YOUPATH/tags
 let Tlist_Exit_OnlyWindow=1
 let Tlist_Use_Right_Window=1
 let Tlist_WinWidth=30
 set cscopetag
 set csto=0
 
   在tlist中,  o ---- 新建一个窗口并进入tag
                space ---- 显示tag原型
                 - ---- 折叠
                 + ---- 展开
   Ctrl + ] 查找
   Ctrl + t 返回

 

Posted by jc 2011年2月20日 15:08