Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 查找unix平台名称_C++_Linux_Bash - Fatal编程技术网

C++ 查找unix平台名称

C++ 查找unix平台名称,c++,linux,bash,C++,Linux,Bash,我希望能够根据平台名称确定输出文件夹:AS3、AS4、AS5、SUN 我不知道如何从系统中提取平台名称。我尝试了: uname -a file /bin/bash 谢谢 解决方案 /lsb_发布-a 保罗·迪克森(Paul Dixon)我认为您必须为每个操作系统查找特定的文件。例如,在SunOS上,您可以键入: uname -s -r -v 对于RHEL,请选中/etc/issue一些linux系统将支持以获取Unix平台上的操作系统信息 struct utsname buf; uname

我希望能够根据平台名称确定输出文件夹:AS3、AS4、AS5、SUN

我不知道如何从系统中提取平台名称。我尝试了:

uname -a

file /bin/bash
谢谢

解决方案

/lsb_发布-a


保罗·迪克森(Paul Dixon)

我认为您必须为每个操作系统查找特定的文件。例如,在SunOS上,您可以键入:

uname -s -r -v

对于RHEL,请选中
/etc/issue

一些linux系统将支持以获取Unix平台上的操作系统信息

struct utsname buf;
uname(&buf);
cout << buf.sysname << endl;
struct utsname buf;
联埃特派团(&buf);
cout看起来你想要(至少部分)发行号。在Red Hat上,您可以获得如下释放:

> cat /etc/redhat-release 
CentOS release 4.3 (Final)
Red Hat Enterprise Linux WS release 4 (Nahant Update 4)
许多其他Linux发行版在/etc中都有自己的文件,这些文件也给出了发行号:

  • /etc/redhat发行版
  • /etc/SuSE发布
  • /etc/ubuntu发行版
  • /etc/fedora发行版

等等。

在过去(甚至在Linux之前),我发现
/bin/arch
在Unix系统中相当普遍,对于获取有关硬件平台的信息非常有用。(在Linux上,它返回的值与
uname-m
相同)。

它是根据一些标准手动导出的,在本例中我无法使用这些标准。我认为AS3是标准的,可以根据系统的特性来确定。ThanksIt打印Linux,我需要它打印AS3、AS4或AS5——有办法确定吗?谢谢