如何在 Bash 中操作十六进制值?

2024-02-22

我有一个具有十六进制值的变量:在本例中,一个值为 0xfe 的字节:

echo $MYVAR | hexdump

0000000 0afe
0000002

我想在我的 bash 脚本中使用这个值,特别是我需要:

  1. 用作字符串(echo X$MYVAR 应该给我 Xfe)

  2. 增加它,(0xff)

  3. 转换回原始格式(我需要保存增量值以供将来使用)

如果我将其转换为整数格式也许会更容易?

编辑:这是我初始化变量的方法:

printf "\xfe" | dd bs=1 of=tempfile seek=8001
MYVAR=`dd if=tempfile skip=8001 count=1 bs=1`

要将十六进制数字打印为字符串,您可以

printf 0x%X $MYVAR

例如,要增加它并以十六进制打印回来,您可以这样做

printf 0x%X `echo $(( 0xfe + 1 ))`

对于“转换回”原始格式,我认为您的意思是保留整数值,在这种情况下您可以简单地使用$MYVAR无需格式转换。

希望这可以帮助,
问候。

EDIT :
为了跟随您的问题编辑,我将在下面添加我的答案。

您可以这样设置 MYVAR:

read dummy MYVAR <<EOF
`dd if=tempfile skip=8001 count=1 bs=1|od -x`
EOF

现在您已从存储在 MYVALUE 中的文件读取的字节的十六进制值。
您现在可以直接打印echo, printf管他呢。

$ echo $MYVAR
00fe

您可以按照前面所述对其进行数学计算:

$ printf %X $((0x$MYVAR + 1))
FF

(感谢 fedorqui 提供的最短版本)

Regards.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Bash 中操作十六进制值? 的相关文章

  • 在docker镜像中运行多个脚本

    您好 我想知道是否可以在 docker 容器启动时自动同时运行两个脚本 第一个脚本必须运行客户端应用程序 第二个脚本必须运行服务器应用程序作为后台 You can use CMD在你的Dockerfile https docs docker
  • 从“stdin”读取文件后如何使用“input()”?

    Context 我想要一个简单的脚本 它可以选择多个管道输入中的一个 而不需要EOF when reading a lineUnix Linux 上的错误 它试图 接受多行管道文本 等待用户选择一个选项 将该选项打印到标准输出 所需用途 p
  • Bash 'printf' 相当于命令提示符?

    我希望在 Windows 命令提示符下将一些字符串输入通过管道传输到一个小型 C 程序 在 bash 中我可以使用 printf AAAAA x86 x08 x04 xed program 本质上 我需要一些东西来转义命令提示符中的那些十六
  • 使用 shell 脚本在 docker 容器内运行脚本

    我正在尝试创建一个 shell 脚本来设置 docker 容器 我的脚本文件如下所示 bin bash docker run t i p 5902 5902 name mycontainer privileged myImage new b
  • 如何替换每行中出现的所有字符串?

    我想在以下脚本中将所有出现的 用户名 替换为 但它仅替换第一次出现的情况 ls al sed s username 这就是 sed 默认情况下的工作方式吗 提前致谢 你需要g 全局 修饰符 sed s username g
  • 如何从 C 文件更改终端中的目录

    如何从 C 程序更改将在终端上生效的目录 实际上不要告诉 system 函数或 chdir 函数 这些仅适用于 C 中的进程或子 shell 假设我正在从 bash shell 执行一个 C 程序 其进程 ID 为 10223 那么 我可以
  • 如何使用 cron 作业运行 python 文件

    您好 我创建了一个 python 文件 例如file example py 该文件将输出 sensex 值 假设该文件在linux系统上的路径为 Desktop downloads file example py 我通常会运行该文件pyth
  • subprocess.Popen args 参数的最大长度是多少?

    我在用Popen http docs python org library subprocess html using the subprocess modulesubprocess 模块中的函数来执行命令行工具 subprocess Po
  • 如何将十进制整数转换为十六进制整数? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions cout lt
  • 如何“grep”连续流?

    可以用吗grep在连续的流中 我的意思是有点tail f
  • Bash 完成脚本在某些参数选项后完成文件路径

    我正在为命令行工具编写 bash 完成脚本 plink local cur prev opts COMPREPLY cur COMP WORDS COMP CWORD prev COMP WORDS COMP CWORD 1 opts 1
  • Bash 中 $() 和 () 之间的区别

    当我打字时ls l echo file 支架的输出 这只是简单的回显 被获取并传递到外部ls l命令 就等于简单的ls l file 当我打字时ls l echo file 我们有错误 因为不能嵌套 内部外部命令 有人可以帮助我理解之间的区
  • 将所有脚本参数复制到另一个变量

    我需要复制所有脚本参数并将它们传递给另一个脚本 我尝试这样做 args printargs sh args echo printargs sh args 但在这种情况下 如果我使用包含空格的参数调用我的父脚本 例如 script sh ar
  • 如何将文件中的值分配给 UNIX sh shell 中的变量?

    我一直在搜索这个网站 试图找到这个问题的答案 并发现了几个非常好的答案 不幸的是 它们都不适合我 这是我正在使用的脚本 VALUE cat szpfxct tmp export VALUE echo gt gt LGFILE echo te
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • 具有非阻塞读取功能的 Bash 脚本

    我想使用命名管道将一些数据发送到根进程 这是脚本 效果很好 bin sh pipe tmp ntp if p pipe then mknod m 666 pipe p fi while true do if read line lt pip
  • 如何在bash中仅提取两个字符串之间多行的第一个实例?

    我的文件是 abc 123 xyz abc 675 xyz 我想提取 abc 123 xyz 123 可以是任何东西 重点是我想要第一次出现 我尝试使用这个 sed n abc xyz p filename 但这给了我所有的例子 我怎样才能
  • 使用 Jenkins 运行 ios-sim

    我正在尝试使用以下命令从命令行启动我的应用程序ios sim https github com downloads pegli ios sim ios sim xcode4 3 tar gz但这就是我得到的 Started by user
  • 使用脚本自动输入 SSH 密码

    我需要创建一个自动向 OpenSSH 输入密码的脚本ssh client 假设我需要通过 SSH 进入myname somehost用密码a1234b 我已经尝试过 bin myssh sh ssh myname somehost a123

随机推荐

  • 如何使用Java在线下载mp3文件?

    我使用以下方法下载 mp3 文件 http online1 tingclass com lesson shi0529 43 32 mp3 http online1 tingclass com lesson shi0529 43 32 mp3
  • 如何在x86汇编的数据段中写入常量

    我正在编写一个汇编程序 使用 icc 作为汇编器 我需要在数据部分编写一些常量 以便在主程序中进行相对加载 例如以下指令 vmovdqu msg rip ymm0 我现在将数据部分写成这样 data msg 0x00000000 0x010
  • 使用 Swift 将字符串转换为 Int

    该应用程序基本上通过输入初始速度和最终速度以及时间来计算加速度 然后使用公式来计算加速度 但是 由于文本框中的值是字符串 因此我无法将它们转换为整数 IBOutlet var txtBox1 UITextField IBOutlet var
  • 如何管理grails中多个表的分页?

    我的 gsp 页面中有两个表 部分 我需要在它们上实现分页 表 节的每页中的记录数不同 例如 第一个表应每页显示 10 条记录 第二个表 节应每页显示 7 条记录 我使用标签来实现它 当我这样做时 我遇到了很多问题 如下所述 最初 它显示每
  • 设置应用程序图标 (Xcode 7)

    我环顾四周 我发现的其他主题都没有解决我在应用程序图标中遇到的错误 当我尝试运行我的应用程序时 出现错误 名为 AppIcon 的应用程序图标集没有任何适用的内容 我很确定这是因为我没有将 png 文件放在正确的位置 但我不知道将其放在哪里
  • 在 Rails 4 中发送带有远程 true 的表单

    我有一个用于更新图像的表格 该行动有 respond to do format format js format html end 但我收到以下错误 ActionView MissingTemplate Missing template u
  • 使用 For 循环在 Oracle 过程中检索多行

    我正在处理存储过程 我需要检索一组结果并单独处理每个元素 然后返回整个结果 使用 3 个不同的表 我对数据库不太熟悉 但这就是我能想到的 create or replace procedure GET EMP RSLT IS CURSOR
  • 当您收到通用 SoapException:服务器无法处理请求时,如何缩小实际问题的范围。来自MS-CRM 4.0

    我最近开始针对 CRM 4 0 进行编程 并使用 CrmService 发出这些请求 当我发送请求时 我经常在使用的动态实体的某些属性中得到错误的值 当然请求失败了 我拦截异常并记录它 问题是这就是我得到的 System Web Servi
  • Lua 匹配字符串中字符后的所有内容

    我是 Lua 新手 不太了解模式匹配 我试图弄清楚如何匹配冒号后字符串中的所有内容 并将字符串的该部分放入变量中 我在网上浏览的运气不太好 或者也许我只是没有看到它 那么我该怎么做呢 例如 假设我有一个名为my string等于 hello
  • Discord.py 获取自定义状态

    如何通过discord py获取Discord用户自定义状态 我看过discord py 文档 我唯一能找到的是Member status https discordpy readthedocs io en latest api html
  • 为什么除法结果会根据强制转换类型而有所不同? (跟进)

    这是这个问题的后续 为什么除法结果会根据强制转换类型而有所不同 https stackoverflow com questions 25703304 why does a division result differ based on th
  • C++11 向量构造函数复制与范围?

    我无法理解向量复制构造函数和范围构造函数之间的优点或区别 当我像这样构造三个向量时 vector
  • 如何禁用 React Native 中的警告?

    我知道警告很重要 但出于特定原因 我不希望它们出现在屏幕上 如何禁用出现的黄色警告screen console disableYellowBox已被弃用 取而代之的是LogBox ignoreAllLogs 在index js中只需设置 i
  • 如何在 Pandas 中创建 SparseDataFrame?

    pandas DataFrame a Out 41 1 2 3 0 1 2 NaN 1 1 NaN 3 a 1 1 0 2 2 0 1 1 0 3 3 0 pandas DataFrame a Out 43 1 2 3 0 1 2 NaN
  • Qt 中的 GIF 动画

    我用过QGraphicsView QGraphicsScene类以便在小部件中显示图片 如下所示 m Scene gt addPixmap QPixmap fileName m View gt setScene m Scene 我如何展示
  • CSS calc 在 IE11 中无法使用线性渐变

    margin 0 padding 0 body background color orangered content margin top 200px height 100vh background color fdfdff tilt po
  • 多个HTTP请求触发HTTP Client超时

    我有一个异步发送 500 个 HTTP 请求的应用程序 所有请求均已处理after由于 HTTP 客户端超时 15 秒失败 even当请求的端点已返回 200 OK 时 代码非常简单 这里我们获取一大块请求 500 并异步执行它们 应该注意
  • 64位nasm除法idiv [重复]

    这个问题在这里已经有答案了 print out division message mov rcx 0 zero out register mov rax input mov rcx input2 idiv rcx divide rax by
  • 在 python 中具有任意数量的带有命名默认值的参数

    我想用 python 编写一个函数 除了一个命名参数 带有默认值 之外 它还可以接受任意数量的未命名参数 例如 我想写这样的东西 def myFunc args optDefault 1 但这只是给出了语法错误 有没有等效的方法来做到这一点
  • 如何在 Bash 中操作十六进制值?

    我有一个具有十六进制值的变量 在本例中 一个值为 0xfe 的字节 echo MYVAR hexdump 0000000 0afe 0000002 我想在我的 bash 脚本中使用这个值 特别是我需要 用作字符串 echo X MYVAR