千家信息网

Runime.getRuntime().exec()中执行任意命令的两种方法

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,经常发现需要用数组方式传参才能执行某些命令:原因在于执行多参数的时候,空格被当做分隔符了,因此,你的命令行被当成多个参数了:解决方法1:使用${IFS},例如:echo "a${IFS}a${IFS}
千家信息网最后更新 2025年01月20日Runime.getRuntime().exec()中执行任意命令的两种方法

经常发现需要用数组方式传参才能执行某些命令:


原因在于执行多参数的时候,空格被当做分隔符了,因此,你的命令行被当成多个参数了:

解决方法1:
使用${IFS},例如:

echo "a${IFS}a${IFS}a"

解决方法2:
在你要执行的shell指令前添加如下指令:

sh -c $@|sh . echo
0