我希望我遗漏了一些简单的东西,因为我必须在美国东部标准时间明天下午 4 点之前提交这个实验。
我正在从 SSH Secure Shell 访问我的帐户,当我在学校时,我可以运行命令 mergeSort < data
它会对数字进行排序,但是我尝试在家里运行相同的命令,我得到:zsh: permission denied: data
.我也用过 make
命令与他们提供的实验室文件一起执行:
#;-*-Makefile-*-
CFLAGS = -Wall -g
CC = gcc
all: insertionSort mergeSort
insertionSort: sortDriver.o metrics.o insertionSort.o
gcc -o insertionSort sortDriver.o metrics.o insertionSort.o
mergeSort: sortDriver.o metrics.o mergeSort.o
gcc -o mergeSort sortDriver.o metrics.o mergeSort.o
testMetrics: metrics.c
gcc -o testMetrics -Wall -D TEST_METRICS metrics.c
@-./testMetrics
@-rm metrics.o core testMetrics 2> /dev/null
clean:
-@rm -f *~ *.o a.out core insertionSort mergeSort *.exe
我试着在它之外重新创建文件,当传输它时,它说的是
encountered 1 errors during the transfer
它仍然会显示,但仍然打不开,当我双击它时会弹出与上面相同的消息。
相关文件的权限,还有更多,但我想这些是与手头任务最相关的。
data attributes -rwxrwxrwx
data.txt attributes -rwxrwxrwx
mergeSort.c attributes -rw-r--r--
mergeSort.o attributes -rw-------
mergeSort attributes -rwxrwxrwx
我尝试了以下方法,我觉得 r/w/x 是我需要的,并且可以在我解决问题后改变它。
对于几乎所有文件,或者至少对于我上面列出的所有文件
% chmod 777 {file name}
% make
% mergeSort < data (tried .txt as well)
但我仍然得到:
% zsh: permission denied: mergeSort
最佳答案
我会尝试两件事:
首先,将权限设置为合理的值:
$ chmod 600 data data.txt
$ chmod 700 mergeSort
其次,使用相对路径运行程序:
$ ./mergeSort < data
或
$ cat data | ./mergeSort
祝你好运!
关于c - 从 txt 文件中读取数据并在终端中获得被拒绝的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21653699/