Shell入门(一)

一、Shell参数变量相关知识:
  $@: 所有参数,每个参数带双引号。以"$1" "$2" "$3"的形式出现,

  $*:  所有参数,所有参数都在一对双引号中。以"$1 $2 $3"的形式出现

  $0 是脚本本身的名字。

  $#: 脚本所有参数的个数。
  $$ 脚本运行当前进程ID
  $? 最后命令的退出状态。0表示没有错误,其他表示有错误
  $!  Shell最后运行的后台Process的PID
  
  详情看Shell脚本的变量IFS:内部域分隔符(Internal Field Seprator) 。

二、Mac系统环境变量
    (1)Mac系统的环境变量,加载配制文件顺序为:
        /etc/profile    /etc/paths     /etc/paths.d    ~/.bash_profile
        其中/etc/profile包含有/etc/bashrc
    (2)sudo touch /etc/paths.d/MySQL    //创建一个文件
    (3)export PATH=$PATH:/etc/paths.d/MySQL  //添加到配制文件中。
    (4)使环境变量立刻生效
        $ source 相应的文件 

三、*.sh文件必须是系统的编码格式(类Unix系统一般是UTF-8)才行。  
    1、vim查看其它编码格式,可在

~/.vimrc(如若没有新建一个)中添加以下内容: 

 

 

 

 

 

    set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

  
   

2

在vim 中查看文件编码:
   
 
 
 
 
 
 
    :set fileencoding 
 
 
  
3、vim转换文件编码,比如将一个文件转换成utf-8格式:
   
 
 
 
 
 
    :set fileencoding=utf-8  

 
四、
执行*.sh出现:“line XXX: syntax error: unexpected end of file”,说明这是windows系统下的文件,行结尾有^M符号,用VIM按以下方式编辑下就好:
vi dos.txt
:set fileformat=unix
:wq

五、
删除所有相同命名的文件夹

sudo find /Users/Gordon/Documents/XXX/release/ -name ".svn" -exec rm -r {} ;
 

六、

退出man,按q。(因为manual进入的是vim文本模式)

七、

关闭进程
kill pid  //非root帐号,前面加sudo

八、

类Unix系统(普通linux系统)通过netstat查看端口使用情况

例子:netstat -anp | grep 8080

BSD类Unix系统(Mac OSX默认自带lsof命令,其它系统可能需要安装lsof)

例子:netstat -vanp tcp | grep 8080

或者:lsof -i :8080

原文地址:https://www.cnblogs.com/wujinhong/p/7069925.html