qt5给脚本sh传输参数。参数未知个数的个IP地址和网卡设备名,脚本判断参数是否为ip地址,收到多个ip并存为列表
时间: 2024-02-20 14:57:18 浏览: 99
Shell脚本中判断输入参数个数的方法
你可以使用Qt的QProcess类来执行sh脚本并传递参数。你可以使用QProcess的setArguments()函数设置传递给脚本的参数列表。具体实现可以参考以下代码:
```cpp
QProcess process;
QStringList args;
args << "arg1" << "arg2" << "arg3";
process.start("/path/to/your/script.sh", args);
```
在脚本中,你可以使用$@来获取所有传递的参数,并使用正则表达式判断是否为IP地址。以下是一个示例脚本:
```bash
#!/bin/bash
# Initialize the list of IP addresses
ip_list=()
# Loop through all arguments
for arg in "$@"
do
# Check if the argument is an IP address
if [[ $arg =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]
then
ip_list+=($arg)
fi
done
# Print the list of IP addresses
echo "IP addresses:"
for ip in "${ip_list[@]}"
do
echo "- $ip"
done
```
当你调用该脚本时,它将循环遍历所有参数,检查它们是否为IP地址,并将它们添加到一个名为ip_list的数组中。最后,它将打印出所有收集到的IP地址。
阅读全文