typeset 命令
“typeset” 可以用来声明变量并指定变量的属性。例如,可以用它来设置变量为整数类型、数组类型等,还可以设置变量为只读属性等。
- 声明整数变量:
typeset -i num=10,此后对num进行操作时,它会被视为整数进行运算。 - 设置变量为只读:
typeset -r var=value,这样该变量就不能被重新赋值。
它还可以显示变量的属性信息,如变量的类型、是否只读等。

设置变量为环境变量:export

export 命令用于将一个变量设置为环境变量。环境变量在整个系统中都可以被访问,并且可以被子进程继承。
例如,设置了 “export PATH=/usr/local/bin:$PATH” 后,将 “/usr/local/bin” 添加到了系统的搜索路径中,任何在系统上运行的程序都可以访问到这个路径。
设置变量为只读变量:read-only

设置数组不包含重复元素:array

“-U” 选项表示强制将后续定义的变量标记为未设置(unset)状态,如果该变量在之前已经设置过,其值将被清空。然后再进行赋值操作。
设置整数的位数

如果超出范围被截断,是从后面开始截断,所以是234,如果想截断123,可以输入
local i=1234
i=${i:0:3}
echo $i
进制转换

同时对多个变量赋相同的值
% local {i,j,k}=123
% echo $i $j $k
123 123 123
绑定字符串和数组

显示变量的定义方式

什么地方该加双引号
- 像这样的包含字符或者特殊符号的字符串
"aa bb \t \n *"出现在代码中时,两边要加双引号,这个基本不需要说明。 - 在用
$()调用命令时,如果希望结果按一个字符串处理,需要加上双引号,"$()",不然的话,如果命令结果中有空格,$()会被展开成多个字符串。 - 如果想将数组当单个字符串处理,需要加双引号,
array=(a b); print -l "$array"。 - 其他的原本不是单个字符串的东西,需要转成单个字符串的场景,要加双引号。
比较字符串

判断文件是否存在

比较数值

管道
管道是类 Unix 系统中的一个比较基础也特别重要的概念,它用于将一个程序的输出作为另一个程序的输入,进而两个程序的数据可以互通。
管道的基本用法:

即管道,在键盘上是主键盘区右侧 \ 对应的上档键字符。如果只输入 wc -l,wc 会等待用户输入,这时可以输入字符串,然后回车继续输入,直到按 ctrl + d 结束输入。然后 wc 会统计用户一共输入了多少行,然后输出行数。

1014

被折叠的 条评论
为什么被折叠?



