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 相应的文件
(2)sudo touch /etc/paths.d/MySQL //创建一个文件
(3)export PATH=$PATH:/etc/paths.d/MySQL //添加到配制文件中。
(4)使环境变量立刻生效
$ source 相应的文件
三、*.sh文件必须是系统的编码格式(类Unix系统一般是UTF-8)才行。
1、vim查看其它编码格式,可在
:set fileencoding=utf-8
~/.vimrc(如若没有新建一个)中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
2、
在vim 中查看文件编码: :set fileencoding
3、vim转换文件编码,比如将一个文件转换成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