Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java bash数组声明或切片不适用于ProcessBuilder_Java_Linux_Bash_Shell - Fatal编程技术网

Java bash数组声明或切片不适用于ProcessBuilder

Java bash数组声明或切片不适用于ProcessBuilder,java,linux,bash,shell,Java,Linux,Bash,Shell,我有一个最简单的bash脚本 arr=('one' 'two' 'three' 'four'); echo "${arr[@]:2}" > test.txt (事实上,我想使用${@:2}) 如果在命令行中使用./my_script.sh运行此脚本,它将按预期工作。但是当我尝试使用java ProcessBuilder时,test.txt文件从未被创建。(事实上,bash脚本在片上停止执行) 我在bash脚本中尝试了许多其他命令,processBuilder的一切都很好,除了“${@:2

我有一个最简单的bash脚本

arr=('one' 'two' 'three' 'four');
echo "${arr[@]:2}" > test.txt
(事实上,我想使用${@:2})

如果在命令行中使用./my_script.sh运行此脚本,它将按预期工作。但是当我尝试使用java ProcessBuilder时,test.txt文件从未被创建。(事实上,bash脚本在片上停止执行)

我在bash脚本中尝试了许多其他命令,processBuilder的一切都很好,除了“${@:2}”

例如,此脚本工作正常,并在我的项目目录中创建test.txt

echo "test" > test.txt

有人知道为什么吗?

你试过
/bin/sh./compile\u evo.sh
?或者您可能在错误的目录中?当我运行
ProcessBuilder pb=newprocessbuilder(“/bin/sh”,“/my_script.sh”)它仍然可以使用简单的回显,但仍然不能使用第一个脚本。请确保您的脚本以
#开头/bin/bash
shebangOh谢谢@glenn jackman,我没听到这句话。。。它解决了这个问题。
echo "test" > test.txt