编写带参脚本
(1) 以简短的脚本名代替字符过长的shell指令
例如vi f文件
准备以f filename代替 find -name filename
(2) 编写脚本
脚本写:find -name $1
$1 即为取第一个参数,$2即为取第二个参数,以此类推,当参数达到第十个时,使用${10},${110}的形式。
(3) 判断传入参数非空/为空
test –n 字符串 字符串的长度非零
test –z 字符串 字符串的长度为零
例如(简单例子没有实用价值,原理可用于其他)
:文件名为l,内容为
if test -n $1
then
ls -l $1
else
ls -l
fi
l c.sh 即可等价于: ls -l c.sh
l 即等价于 ls -l 显示当前目录下所有文件的详细信息
当然也可用-z参数反过来写。
(4) 更改脚本属性
chmod +x f
(5) 将脚本所在路径加入PATH
在HOME路径下的.bashrc文件最后加上
export PATH=$PATH:sh.filepath //注意,等号左右不要写空格 sh.filepath为脚本所在路径
保存退出,执行
source .bashrc
路径即可生效,即可在任何路径下执行如
f MerryChristmas.sh
等价于 find -name MerryChristmas.sh
(6) 防止脚本文件被误删
chattr +a filename
若有多个脚本文件,可写
chattr +a *
删除文件或者文件所在文件夹,均会提示
rm: cannot remove `filename': Operation not permitted
若确实需要删除脚本,可将+a参数改为-a