Topwo博客
首页
博客
项目
其他
shell数组和字典
其他
2021-09-27
```shell #!/bin/bash echo "shell定义字典" #必须先声明 declare -A dic dic=([key1]="value1" [key2]="value2" [key3]="value3") #打印指定key的value echo ${dic["key1"]}
阅读原文>>
shell脚本常用语法——获得当前目录
其他
2021-09-27
### 1 获得shell脚本所在的绝对路径 ```shell CURRENT_DIR=$(cd $(dirname ${BASH_SOURCE}); pwd) ``` 或者 ```shell CURRENT_DIR=$(cd `dirname ${BASH_SOURCE}`; pwd) ``` 执行步骤解析: dirname $0: 取得当前执行的脚本文件所在的目录;
阅读原文>>
shell中的type命令
其他
2021-09-27
### type [-aftpP] name [name,...] #### `-a`打印name的所有可能情况,比如`type -a ls`,会打印ls is aliased to 'ls --color=auto'和ls is /bin/ls #### `-f`不会去查找function #### `-t`打印alias,keyword,function,built-in,file这5种类型 #### `-p`如果`type -t name`输出file,那么会打印name所在路径 #### `-P`不管`type -t name`是不是输出file,都会去搜索name所在路径,比如`type -P ls`,尽管`type -t ls`打印的是alias(因为alias的优先级高于file),但是仍然会搜索出ls所在的路径/bin/ls 如果type不加任何选项,直接加1个或者多个name,那么会依次打印这些name的类型。只有所有name的类型都能成功打印,type才返回成功,否则,只要任何一个name类型无法打印,那么就返回失败。
阅读原文>>
shell中#*,##*,#*,##*,% *,%% *的含义及用法
其他
2021-09-27
### 介绍下Shell中的${}、##和%%使用范例,假设定义了一个变量为: file=/dir1/dir2/dir3/my.file.txt 可以用${}分别替换得到不同的值: `${file#*/}` 删掉第一个/及其左边的字符串:dir1/dir2/dir3/my.file.txt `${file##*/}` 删掉最后一个/及其左边的字符串:my.file.txt `${file#*.}` 删掉第一个.搜索及其左边的字符串:file.txt `${file##*.}`
阅读原文>>
shell变量$#,$@,$0,$1,$2的含义解释
其他
2021-09-26
shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) ------------ $! Shell最后运行的后台Process的PID
阅读原文>>
shell条件判断if中的-a到-z的意思
其他
2021-09-26
[ -a FILE ]如果 FILE 存在则为真。 [ -b FILE ]如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ]如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ]如果 FILE 存在且是一个目录则为真。 [ -e FILE ]如果 FILE 存在则为真。 [ -f FILE ]如果 FILE 存在且是一个普通文件则为真。 [ -g FILE ]如果 FILE 存在且已经设置了SGID则为真。 [ -h FILE ]如果 FILE 存在且是一个符号连接则为真。 [ -k FILE ]如果 FILE 存在且已经设置了粘制位则为真。 [ -p FILE ]如果 FILE 存在且是一个名字管道(F如果O)则为真。
阅读原文>>
shell查找符合条件的文件并删除
其他
2021-09-26
找到根目录下所有的后缀名为test的文件并把查找结果当做参数传给rm -rf命令进行删除: 1、`find . -name '*.test' | xargs rm -rf` 2、`find . -name '*.test' -exec rm -rf {} \;` 3、`rm -rf $(find . -name '*.test')` 如果想指定递归深度,可以这样: 1、`find . -maxdepth 3 -name '*.test' | xargs rm -rf` 2、`find . -maxdepth 3 -name '*.test' -exec rm -rf {} \;` 3、`rm -rf $(find . -maxdepth 3 -name '*.test')` 这样只会查找三层目录中符合条件的文件并删除掉!
阅读原文>>
JNI字段描述符"([Ljava/lang/String;)V"
其他
2021-09-26
`([Ljava/lang/String;)V`它是一种对函数返回值和参数的编码,这种编码叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。 一个数组`int[]`,就需要表示为这样`[I`。如果多个数组`double[][][]`就需要表示为这样`[[[D`。也就是说每一个方括号开始,就表示一个数组维数。多个方框后面,就是数组的类型。 如果以一个`L`开头的描述符,就是类描述符,它后紧跟着类的字符串,然后分号`;`结束。 比如: `Ljava/lang/String;`就是表示类型`String` `[I`就是表示`int[]` `[Ljava/lang/Object;`就是表示`Object[]` JNI方法描述符,主要就是在括号里放置参数,在括号后面放置返回类型,如下: `(参数描述符)返回类型`
阅读原文>>
公钥与私钥
其他
2021-09-26
1).鲍勃有两把钥匙,一把是公钥,另一把是私钥。  2).鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。  3).苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。  4).鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。  5).鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。 
阅读原文>>
首页
上一页
7
文章推荐
shell数组和字典
2021-09-27
shell脚本常用语法——获得当前目录
2021-09-27
shell中的type命令
2021-09-27
shell中#*,##*,#*,##*,% *,%% *的含义及用法
2021-09-27
shell变量$#,$@,$0,$1,$2的含义解释
2021-09-26