Linux:Shell命令记录

Shell脚本常用于自动化操作,很方便,现在记录一下。

读取参数的方法

argv=$#                                         #读取输入参数的个数
Par_list="$@"                                #列出所有的输入参数
TOP_DIR=`pwd`                           #当前目录
echo "argv = $argv"
echo "Par_list= $Par_list"
echo "top dir = $TOP_DIR"

执行脚本,会输入如下,不错

./wfmk ni hao a
argv = 3
Par_list= ni hao a
top dir is /work/

判断语句

下面语句是判断file_path是否有执行权限,如果有,则执行!

if [ -x ${file_path} ]; then
    bash ${file_path}
fi

-n 代表字符串非空,下面标志info不为空。

if [ -n "${info}" ];then
    echo -e "before jack port is:"
    cat_jack_port
fi
```

##系统常量
####uname
这个打印当前的系统是什么,例如linux
```
# uname
Linux
```

##替换语句
####Makefile patsubst
patsubst用于替换,例如下面的语句用于查找当前目录的apk文件
```
copy_from := $(patsubst ./%,%, \
  $(shell cd $(LOCAL_PATH) ; \
          find . -maxdepth 1 -name "*.apk" -and -not -name ".*") \
 )
```
patsubst 就是把./去掉啦,例如copy_from在执行patsubst前是
./weixin.apk
执行patsubst后就是
weixin.apk

####Makefile foreach 
包含循环列表,循环变量,和表达式。
例如下面,循环列表names ,循环变量n,表达式$(n).o
```
    names := a b c d

    files := $(foreach n,$(names),$(n).o)
```
最后输入就是a.o b.o c.o d.o

你可能感兴趣的:(Linux:Shell命令记录)