繁体   English   中英

如何通过管道输入用户输入的字符串?

[英]How can I pipe a string that the user input?

我需要使用管道将已拆分为各个参数的字符串。 例如,

cd foo | cat bar.txt

已解析并存储到数组中

char *arr[];
arr = {"cd", "foo", "|", "cat", "bar.txt"}

我最初的想法是遍历数组,直到我看到管道并将命令存储到另一个数组中然后运行它。 还有另一种方法可以解决这个问题吗?

Yon可以使用awk:

str =“ cd foo | cat bar.txt”

command_first = echo $str | awk -F "|" '{print $1}' echo $str | awk -F "|" '{print $1}'

command_second = echo $str | awk -F "|" '{print $2}' echo $str | awk -F "|" '{print $2}'

评估$ command_first

评估$ command_second

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM