如何在Bash中使用read命令?
发布时间:2020-12-15 09:19:27 所属栏目:安全 来源:网络整理
导读:当我尝试在Bash中使用read命令,像这样: echo hello | read strecho $str 没有回音,而我认为str应该包含字符串你好。任何人都可以帮助我理解这种行为吗? 在你的脚本命令中读取正常。但是,您在管道中执行它,这意味着它在一个subshel??l中,因此,它读取
当我尝试在Bash中使用read命令,像这样:
echo hello | read str echo $str 没有回音,而我认为str应该包含字符串你好。任何人都可以帮助我理解这种行为吗?
在你的脚本命令中读取正常。但是,您在管道中执行它,这意味着它在一个subshel??l中,因此,它读取的变量在父shell中不可见。你可以
>在subshel??l中移动脚本的其余部分: echo hello | { read str echo $str } >或使用命令替换来获取变量的值从子shell str=$(echo hello) echo $str 或一个稍微复杂的例子 str=$(ls | { read a; read a; echo $a; }) echo $str (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |