如何实现文件夹路径转纯数字符串?

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
没有评论

发表回复

Bash
如何使用expect自动输入密码?

1 前言 一个问题,一篇文章,一出故事。 笔者最近在一个脚本中使用“adcli passwd-use …

Bash
如何实现SFTP自动上传下载?

1 前言 一个问题,一篇文章,一出故事。 笔者最近需要实现sftp自动上传下载,于是整理此文。 以下 …

Bash
如何实现Base Shell根据关键字获取数组?

1 前言 一个问题,一篇文章,一出故事。 笔者最近写一个Shell发现同一个脚本需要引用两个以上AD …