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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,631评论 25 709
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,187评论 2 33
  • 来自陈浩的一片老文,但绝对营养。 示例工程:3 个头文件*.h,和 8 个 C 文件*.c。 初 编译过程,源文件...
    周筱鲁阅读 10,153评论 0 17
  • 1. 条款和条件 1.1为AppStore开发程序,开发者必须遵守ProgramLicenseAgreement(...
    帥陽阅读 2,915评论 0 0
  • mysql - it's a commandline (administration) tool命令行工具mysq...
    廖马儿阅读 15,968评论 1 11