gpt4 book ai didi

linux - Bash java 自动编译器

转载 作者:太空狗 更新时间:2023-10-29 12:19:52 24 4
gpt4 key购买 nike

我目前正在尝试制作一个 bash 脚本,它将进入 ./中的每个文件夹并编译 blah.java,然后运行 ​​blah 发送一个数字作为输入,并将输出放入我命名的文件中。我有一些有点功能的东西,但它只进入第一个目录,然后它就失败了。我目前有...

#! /bin/bash


for i in $(find . -maxdepth 1 -type d)
do

pwd
cd $i
pwd

if [ -f "blah.java" ];
then
javac -cp . blah.java
echo "17" | java -cp . blah - > blahresult17
echo "43" | java -cp . blah - > blahresult43

fi

done

我认为它有问题,因为它试图从 ./进入一个目录,一旦它进入一个子目录,但显然从该子目录它不存在。

最佳答案

您在 if 上遗漏了一个 fi ,但这可能是一个剪切和粘贴错误,而不是您失败的根源。可能的问题是,一旦你执行了第一个 cd,接下来的 cd 命令是相对于你之前所在的位置,而不是你现在所在的位置。您可以使用 pushd/popd 来解决这个问题,或者在子 shell 中运行 cd 和 java 位,这样 cd 就不会持续到下一个循环迭代。

关于linux - Bash java 自动编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12916797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com