Shell 脚本学习笔记-常用命令

Shell 脚本学习笔记-常用命令

iOS

ar

可以对静态库进行操作 (create and maintain library archives)

# 查看库中所包含的文件列表
ar -t libx-armv7.a
# __.SYMDEF SORTED
# common.o
# counter.o
# cv.o
# debug.o
# dll.o
# mu.o
# mu_wait.o
# note.o
# once.o
# sem_wait.o
# time_internal.o
# wait.o
# clock_gettime.o
# nsync_semaphore_mutex.o
# per_thread_waiter.o
# yield.o
# time_rep_timespec.o
# nsync_panic.o
# 解压出object file(即.o后缀文件)
ar xv libx-armv7.a

# 使用指定的 .o 文件生成静态库
ar rcs libx-armv7.a armv7/*.o

lipo

# 查看静态库信息()
lipo -info path.a
# 输出:chitectures in the fat file: /path/Desktop/nsync.a are: i386 armv7 armv7s x86_64 arm64

# 生成只包含 armv7 的静态库
lipo /path/Desktop/nsync.a -thin armv7 -output libx-armv7.a
# 合并指定的静态库为一个(fat)
lipo -create a.a b.a c.a

输入输出

算数运算

文本处理

awk

主要用于文本的分割和处理

格式:
awk ‘{pattern+action}’ file/input stream

eg: awk ‘{print $2}’

awk 默认使用“空格”作为分隔符,使用参数 -F 可以自定义分隔符

详见:linux awk命令详解

tr

命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符

来自: http://man.linuxde.net/tr

格式:
tr(选项)(参数)

eg:

echo hehe | tr -d e
hh

echo hehe | e a
haha

详见:tr 命令

其他工具

xargs

ls -a | grep name.extension。管道命令极大的方便了脚本使用。但是并不是所有的工具都支持管道命令比如“ls”命令。而xargs就可以打破这种限制。

格式:
commend1 | xargs [option] commend2

eg:
pwd | xargs ls

常用参数

参数含义示例释义
-i可以将左侧输出的参数逐条作为右侧的参数。位置由“{}”指定ls | xargs -i cp {} {}.bak将当前路径下的可见文件赋值一份,并且加上“.bak”后缀
-0(零)当sdtin含有特殊字元时候,将其当成一般字符,如/’空格等
(没有参数)将左侧输出作为右侧命令的参数pwd | xargs echo “haha”输出为:haha “路径”

环境设置

  • set
    set命令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。使用set更改shell特性时,符号”+”和”-“的作用分别是打开和关闭指定的模式。 set命令不能够定义新的shell变量。如果要定义新的变量,可以使用declare命令以“变量名=值”的格式进行定义即可。

语法
set(选项)(参数)

参数

参数含义
-a标示已修改的变量,以供输出至环境变量。
-b使被中止的后台程序立刻回报执行状态。
-C转向所产生的文件无法覆盖已存在的文件。
-dShell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。
-e若指令传回值不等于0,则立即退出shell。
-f取消使用通配符。
-h自动记录函数的所在位置。
-HShell:可利用”!”加<指令编号>的方式来执行history中记录的指令。
-k指令所给的参数都会被视为此指令的环境变量。
-l记录for循环的变量名称。
-m使用监视模式。
-n只读取指令,而不实际执行。
-p启动优先顺序模式。
-P启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。
-t执行完随后的指令,即退出shell。
-u当执行时使用到未定义过的变量,则显示错误信息。
-v显示shell所读取的输入值。
-x执行指令后,会先显示该指令及所下的参数


example:
使用declare命令定义一个新的环境变量”mylove”,并且将其值设置为”Visual C++”,输入如下命令:

declare mylove='Visual C++' #定义新环境变量

再使用set命令将新定义的变量输出为环境变量,输入如下命令:

set -a mylove #设置为环境变量

执行该命令后,将会新添加对应的环境变量。
用户可以使用env命令和grep命令分别显示和搜索环境变量”mylove”,输入命令如下:

env | grep mylove #显示环境变量值

此时,该命令执行后,将输出查询到的环境变量值。

更多文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值