use*_*670 3 c linux bash shell ubuntu
在一些服务器更新之后,我无法执行C程序(它昨天正在工作,并且我的服务器中的某些内容已更改导致此问题).
我在这个名为aesdecript的文件夹/ home/int/exe/ac程序中获得777权限.因此,如果以root身份键入以下命令:
$ cd /home/int/exe/
$ ./aesdecrypt
-bash: /home/int/exe/aesdecrypt: No such file or directory
$ sh aesdecrypt
aesdecrypt: 1: Syntax error: "(" unexpected
$ ldconfig aesdecrypt
ldconfig: relative path `aesdecrypt' used to build cache
$ system("/home/int/exe/aesdecrypt")
-bash: syntax error near unexpected token `"/home/int/exe/aesdecrypt"'
Run Code Online (Sandbox Code Playgroud)
aesdecrypt是一个C程序.
有人有什么想法吗?这个程序几天前就开始运作了.
以下aesdecrypt源代码:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include "aes.h"
int aes_crypt_decrypt(int encrypt, char *finput, char *foutput);
#define TRUE 1
#define FALSE 0
int main(int argc, char **argv) {
puts("Oi mundo!"); /* prints Magick Teste! */
/*if( argc < 3 )
return (1);
aes_crypt_decrypt( TRUE, argv[1], argv[2] );*/
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
此致,蒂亚戈
小智 6
您描述的症状与尝试在64位系统上执行32位二进制文件时出现的症状非常相似,并且32位"仿真"不可用.在这种情况下,即使二进制文件是可执行的并且一切正常,系统错误代码也是"没有这样的文件或目录".要解决此问题,请使用以下命令安装对32位可执行文件的支持:
sudo apt-get install ia32-libs
Run Code Online (Sandbox Code Playgroud)
这可能是升级后遗漏的内容.有关较长的故事,请参阅此文章.