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

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
如何自动根据职位设置NextCloud用户配额?

1 前言 一个问题,一篇文章,一出故事。 今天更新一个自动根据AD中的职位(title)设置Next …

Bash
如何在远程主机执行函数?

1 前言 一个问题,一篇文章,一出故事。 笔者今天想在远程机器执行本地脚本定义的函数,于是整理当前章 …

Bash
如何实现监视多台服务器的日志?

1 前言 一个问题,一篇文章,一出故事。 今天遇到需要根据PostFix的特定邮箱地址触发一个电话报 …