【发布时间】:2019-09-17 01:00:32
【问题描述】:
这是我第一次尝试创建 bash 脚本,我有点困惑。
我正在尝试从 bash 脚本运行我的 c 程序,其中 c 程序可以采用一个或多个参数。如果 c 程序采用 1 个参数,它将根据输入的内容打印前 n 个素数。如果它采用多个参数,它将打印最大整数参数的前 n 个素数,然后是所有可能范围之间的素数论据。我在使用 bash 脚本调用 c 程序时遇到问题。现在我只是想让它找到最大的整数,然后打印前 n 个整数:
file=$1
max=$2
shift
for arg in "$@"
do
if [ $arg -gt $max ]; then
max=$arg
fi
done
for file in $path
do
./app "$file" "$max"
done
当我运行 bash 脚本时,如果我键入:
bash ./prime.sh ./prime 4 3 1
我应该得到:2, 3, 5, 7
我没有包含 c 代码,因为它目前正在运行。
谢谢!
【问题讨论】:
-
什么是
./prime? -
你在哪里设置
$path? -
你的C程序的名字是
./app还是./prime?./app是做什么的? -
./prime 是我以前对c程序的称呼。我在想我只是拿了第一个参数
./prime并用它来执行程序。所以我需要在bash脚本中设置路径吗?我正在查看其他几个问题,看到他们使用./app,所以我认为这是在 bash 脚本中调用程序的某种方式。 -
你为什么设置
file=$1然后使用for file in $path而不是使用那个?