Bash
1 前言
一个问题,一篇文章,一出故事。
由于由于需要设置某目录的配额,配额要求为每个目录指定一个项目的ID,于是笔者想把项目的路径当成一串字符串直接转换为一串数字作为项目ID,于是整理此文。
2 最佳实践
2.1 实现字符转ASCII值
vim ~/scripts/test.sh
创建如下脚本,
#!/bin/bash read -p "请输入一个字符: " char decimal=$(printf "%d" "'${char}") echo "${char} 的ASCII值为 ${decimal}"
然后使用如下命令测试,
sh ~/scripts/test.sh
可见如下交互过程,
请输入一个字符: a a 的ASCII值为 97
2.2 实现字符串转ASCII值
vim ~/scripts/test.sh
创建如下脚本,
#!/bin/bash read -p "请输入一个字符串: " inputString for (( i=0; i<${#inputString}; i++ )) do asciiValue=$(printf "%d" "'${inputString:$i:1}") echo "${inputString:$i:1} 的ASCII值为 ${asciiValue}" done
然后使用如下命令测试,
sh ~/scripts/test.sh
可见如下交互过程,
请输入一个字符串: abc a 的ASCII值为 97 b 的ASCII值为 98 c 的ASCII值为 99
2.3 实现文件夹路径转纯数字符串
vim ~/scripts/test.sh
创建如下脚本,
#!/bin/bash read -p "请输入一个路径: " inputString outputString="" for (( i=0; i<${#inputString}; i++ )) do asciiValue=$(printf "%d" "'${inputString:$i:1}") outputString="$outputString$asciiValue" done echo "$outputString"
然后使用如下命令测试,
sh ~/scripts/test.sh
可见如下交互过程,
请输入一个路径: /data/ftp/ftpUser01 4710097116974710211611247102116112851151011144849
没有评论