linux中使用脚本运行c文件/script.sh: 行 6: /home/jjjfy/primer1/primer_pro1.c: 权限不够
时间: 2023-12-12 12:02:16 浏览: 73
这个错误提示表明在第6行的脚本中,你尝试执行的命令 "/home/jjjfy/primer1/primer_pro1.c" 权限不够,因为该文件没有可执行权限。你需要使用 chmod 命令给该文件添加可执行权限,例如:
```
chmod +x /home/jjjfy/primer1/primer_pro1.c
```
然后你可以再次尝试运行该脚本,看看是否能够成功执行。如果还有其他权限问题,你可以使用 chmod 命令修改文件或目录的权限。
相关问题
/usr/bin/time: cannot run ./primer_pro1: No such file or directory Command exited with non-zero status 127
这个错误提示表明运行 "./primer_pro1" 失败,因为该文件不存在或者无法被访问。请确认你当前所在的目录下是否存在名为 "primer_pro1" 的可执行文件。如果该文件存在,你可能需要检查一下该文件的权限是否正确,以及你是否有执行该文件的权限。如果该文件不存在,你需要先编译生成该文件,再进行执行操作。
实现传统方法求素数:编写一个程序primer_pro1.c,使用暴力计算法计算30000000到30000200之间的所有素数,并输出这些素数。运行10次primer_pro1,记录每次运行的时间,并计算平均运行时间。
好的,我明白了你的要求。以下是primer_pro1.c程序代码:
```c
#include <stdio.h>
#include <time.h>
int is_prime(int n){
if(n < 2){
return 0;
}
int i;
for(i = 2; i*i <= n; i++){
if(n % i == 0){
return 0;
}
}
return 1;
}
int main(){
int start = 30000000, end = 30000200;
clock_t begin = clock(); // 记录开始时间
int count = 0;
for(int i = start; i <= end; i++){
if(is_prime(i)){
printf("%d ", i);
count++;
}
}
printf("\n");
clock_t end_time = clock(); // 记录结束时间
printf("共计%d个素数\n", count);
printf("程序运行时间:%f秒\n", (double)(end_time - begin) / CLOCKS_PER_SEC);
return 0;
}
```
运行10次primer_pro1,记录每次运行的时间,并计算平均运行时间,可以采用如下的shell脚本:
```shell
#!/bin/bash
total_time=0
for i in {1..10}
do
echo "第 $i 次运行:"
time=`./primer_pro1`
echo "$time"
total_time=`echo $total_time + $time | bc`
done
echo "平均运行时间:"
echo "$total_time / 10" | bc -l
```
其中,bc命令用于进行浮点数计算。将上述两段代码保存到同一目录下,并运行shell脚本即可得到输出结果。
阅读全文