shell - 将文件中的行读入 shell 脚本中的 2 个变量

标签 shell

我有一个包含 2 行的文件,我想将它们分别读入 2 个变量。我如何在 shellscript(bash) 中完成此操作?

最佳答案

您可以在 shell 中打开文件描述符来读取变量:

#!/bin/bash

# open file
exec 6<tst.txt

read foo <&6
read bar <&6

# close file again
exec 6<&-

echo $foo $bar

编辑:

快速解释一下,这是使用 IO 重定向。通常文件描述符的处理方式如下:

  • 0 标准输入(输入)
  • 1 个标准输出(输出)
  • 2 标准错误(错误)

但是,没有什么可以阻止使用其他文件描述符(最多 9 个),所以我们打开文件描述符 6 中的“tst.txt”文件,并使用 IO redirection 从中读取。 .

所以,exec 6<tst.txt打开文件描述符 6 并重定向 tst.txt进入其中,而 exec 6<&-再次关闭它。

关于shell - 将文件中的行读入 shell 脚本中的 2 个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7352008/

相关文章:

linux - pidof 和 pgrep 之间的区别?

javascript - 如何从 meteor shell 将任何内容记录到控制台?

linux - 从文本文件数据库中替换当前字符串

shell - 使用条件分隔和计算列表中的元素数量

bash - 使用 Bash 测试 URL 列表

bash - pg_backup.sh : "No such file or directory" for pg_backup. 配置

bash - 使用 shell 脚本解析 consul 模板文件中的行

.net - 在 ListView 中显示文件夹图标

bash - 条件表达式中的语法错误 : unexpected token `;'

python - 在 python 中执行自定义 bash 函数