gpt4 book ai didi

bash - 如何从 stdin 读取多行输入到变量中以及如何在 shell(sh,bash) 中打印出一个?

转载 作者:行者123 更新时间:2023-11-29 08:40:26 31 4
gpt4 key购买 nike

我想做的是:

  1. 将来自 stdin 的多行输入读入变量 A
  2. A进行各种操作
  3. 管道 A 不丢失定界符号(\n\r\t 等)到另一个命令

目前的问题是,我无法使用 read 命令读取它,因为它在换行处停止读取。

我可以用 cat 读取标准输入,就像这样:

my_var=`cat /dev/stdin`

,但我不知道如何打印它。这样换行符、制表符和其他分隔符仍然存在。

我的示例脚本如下所示:

#!/usr/local/bin/bash

A=`cat /dev/stdin`

if [ ${#A} -eq 0 ]; then
exit 0
else
cat ${A} | /usr/local/sbin/nextcommand
fi

最佳答案

这对我有用:

myvar=`cat`

echo "$myvar"

$myvar 两边的引号很重要。

关于bash - 如何从 stdin 读取多行输入到变量中以及如何在 shell(sh,bash) 中打印出一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/212965/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com