[英]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.