Shell script记录
一、Shell的执行方式
bash script.sh 或 sh scripte.sh ,文件本身没权限执行,没x权限,则使用的方法,或脚本未指定 shebang ,重点推荐的方式
使用 绝对/相对 路径执行脚本,需要文件含有x权限
source script.sh 或者 . script.sh ,代表 执行的含义,source等于点.
通常,可以把一些函数定义在一个文件,通过 source 或者 . 的方式引入当前 shell 环境进行使用,以实现了结构化设计。
二、变量 无引号、双引号、无引号、反引号
单引号,所⻅即所得,强引用
双引号,输出引号里所有内容,识别特殊符号,弱引用
无引号,连续的符号可以不加引号,有空格则有歧义,最好使用双引号
反引号,引用命令执行结果,等于 $() 用法
推荐用双引号,特殊字符转义
三、特殊变量
$0 获取shell脚本文件名,以及脚本路径
$n 获取shell脚本的第n个参数,n在1~9之间,如$1 ,$2, $9 ,大于9则需要写,${10},参数空格隔开
$# 获取执行的shell脚本后面的参数总个数
$* 获取she ...
RxSwift(二)
RxSwift(一)上篇文章主要讲了,Rx 的 Observable、Observer以及操作符的实现方式。这篇文章主要看看Rx是如何实现一些iOS常用元素的监听的。
通知的监听12345678910111213141516171819202122232425// 外部调用NotificationCenter.default.rx.notification(name).subscribe(onNext: block)// 关键源码 1extension NSObject: ReactiveCompatible { }public var rx: Reactive<Self> { get { Reactive(self) } // this enables using Reactive to "mutate" base object // swiftlint:disable:next unused_setter_value set { }}// 关键源码 ...
Swift中的泛型
泛型是 Swift 中一种强大的编程特性,它可以让你编写更加灵活、可重用的代码。泛型可以用于函数、结构体、枚举和类。以下是 Swift 中泛型的一些用法总结:
泛型函数:泛型函数可以用于处理不同类型的数据,而不需要为每种类型编写单独的函数。泛型函数使用尖括号(<>)来定义类型参数。
1234567891011func swapValues<T>(_ a: inout T, _ b: inout T) { let temp = a a = b b = temp}var a = 1var b = 2swapValues(&a, &b)print("a: \(a), b: \(b)") // a: 2, b: 1
泛型类型:泛型类型让你可以定义灵活的、可重用的组件,如结构体、枚举和类。和泛型函数一样,泛型类型使用尖括号(<>)来定义类型参数。
1234567891011121314151617struct Stack<Element> { privat ...