上位机知识篇---return环境变量.bashrc


文章目录

  • 前言
  • 第一部分:Return
    • C 语言中的 return
    • C++ 语言中的 return
    • Python 中的 return
  • 第二部分:环境变量
    • 环境变量的作用
      • 路径配置
      • 系统配置
      • 程序配置
      • 自定义配置
    • Windows 上的环境变量
      • 配置方法
        • 1.通过系统属性对话框
        • 2.通过命令提示符
    • Linux 上的环境变量
      • 配置方法
        • 1.临时设置环境变量
        • 2.永久设置环境变量
    • 通用环境变量示例
    • 注意事项
  • 第三部分:Linux中的.bashrc文件
    • 环境变量配置
    • 别名设置
    • 函数定义:
    • 提示符自定义
    • 资源文件包含
    • 启动脚本
    • 历史命令配置
  • 第四部分:Linux和Windows操作系统中的文件路径
    • Linux文件路径
      • 根目录
      • 目录分隔符
      • 目录结构:
      • 文件名大小写敏感:
      • 绝对路径和相对路径:
    • Windows文件路径
      • 盘符:
      • 目录分隔符:
      • 目录结构:
      • 文件名大小写不敏感:
      • 绝对路径和相对路径:
    • 区别
      • 根目录与盘符:
      • 目录分隔符:
      • 大小写敏感性:
      • 路径表示:
      • 环境变量:
      • 特殊目录:
  • 总结


前言

以上就是今天要讲的内容,本文简单介绍了return、环境变量、.bashrc文件。


第一部分:Return

C 语言中的 return

在 C 语言中,return 语句用于:

从函数返回一个值
终止当前函数的执行,并将控制权返回给函数的调用者。

C 语言函数可以返回任何类型的数据,除了数组。如果函数的返回类型是 void,则 return 语句可以不带返回值。

示例:

#include <stdio.h>int add(int a, int b) {return a + b; // 返回两个整数的和
}void printMessage() {printf("Hello, World!\n");return; // 对于 void 函数,可以省略返回值
}int main() {int result = add(5, 3);printMessage();return 0; // main 函数返回 0 表示成功执行
}注意: 程序返回值为0,表示正常运行

C++ 语言中的 return

在 C++ 中,return 语句的作用与 C 语言相同,但 C++ 支持更多的特性,如类和对象。C++ 函数也可以返回引用、指针或对象

示例:

#include <iostream>class Rectangle {
public:Rectangle(int width, int height) : width_(width), height_(height) {}int area() const {return width_ * height_; // 返回矩形的面积}private:int width_;int height_;
};int main() {Rectangle rect(5, 3);std::cout << "Area: " << rect.area() << std::endl;return 0; // main 函数返回 0 表示成功执行
}

Python 中的 return

在 Python 中,return 语句用于:

  1. 从函数返回一个值(或多个值)
  2. 终止当前函数的执行,并将控制权返回给函数的调用者。
    如果 return 语句后面没有表达式,或者函数中没有 return 语句,则函数在执行完毕后会自动返回 None

示例:

def add(a, b):return a + b  # 返回两个数的和def print_message():print("Hello, World!")return  # 默认返回 Nonedef main():result = add(5, 3)print_message()return 0  # 返回 0,但通常 Python 中不需要显式返回 0if __name__ == "__main__":main()

在 Python 中,return 语句也可以返回多个值,这实际上返回的是一个元组。

示例:

def swap(a, b):return b, a  # 返回一个元组x, y = swap(1, 2)
print(x, y)  # 输出:2 1

在所有这些语言中,return 语句都是控制函数执行流程的重要工具。

第二部分:环境变量

环境变量的作用

环境变量可以用于以下目的:

路径配置

路径配置:指定可执行文件、库文件或其他资源的搜索路径。

系统配置

系统配置:提供系统级别的配置信息,如临时文件存储位置、用户配置文件位置等。

程序配置

程序配置:允许**程序读取特定的配置信息,**如数据库连接字符串、API密钥等。

自定义配置

自定义配置:用户或管理员可以设置自定义的环境变量来简化命令或提供自定义功能。

Windows 上的环境变量

在 Windows 操作系统中,环境变量分为两种类型:

  1. 用户环境变量:仅对当前用户有效。
  2. 系统环境变量:对所有用户有效。

配置方法

1.通过系统属性对话框
  1. 右键点击“此电脑”或“我的电脑”,选择“属性”。
  2. 点击“高级系统设置”。
  3. 在“系统属性”对话框中点击“环境变量”按钮。
  4. 在“环境变量”对话框中,可以编辑或创建用户或系统的环境变量。
2.通过命令提示符
  1. 打开命令提示符(cmd)。
  2. 使用 set 命令来设置环境变量,例如:set MY_VARIABLE=value。
  3. 使用 setx 命令来永久设置环境变量,例如:setx MY_VARIABLE “value” /M(/M 用于系统变量)。

Linux 上的环境变量

在 Linux 操作系统中,环境变量通常在 shell 启动时设置,也可以在 shell 会话中动态设置。

配置方法

1.临时设置环境变量

在 shell 中使用 export 命令,例如:export MY_VARIABLE=value。

2.永久设置环境变量

编辑用户的主目录下的 .bashrc 或 .profile 文件,添加 export MY_VARIABLE=value。
对于系统范围内的环境变量,可以编辑 /etc/environment 文件。
使用 env 命令:
env 命令可以用来查看当前的环境变量。
env MY_VARIABLE=value command 可以在执行命令时设置环境变量。

通用环境变量示例

以下是一些在 Windows 和 Linux 上常见的环境变量:
PATH:指定可执行文件的搜索路径。
HOME:用户的主目录路径。
TMP/TEMP:用于存储临时文件的目录路径。

注意事项

环境变量名称通常是大写的,但这不是强制的。
环境变量的值可能会包含敏感信息,如密码或密钥,因此需要谨慎处理。
在设置环境变量时,确保值的正确性,错误的配置可能会导致程序无法正常运行。

第三部分:Linux中的.bashrc文件

在Linux系统中,.bashrc 是一个 shell 脚本,它通常位于每个用户的主目录下(例如,/home/username/.bashrc)。这个文件用于存储和配置用户特定的环境变量和别名以及用户登录到bash shell时要运行的脚本或命令

以下是 .bashrc 文件的一些主要作用:

环境变量配置

.bashrc 文件用于设置或修改环境变量,这些变量在用户打开新的 shell 会话时生效。例如,可以设置 PATH 变量来包含特定的目录,这样用户就可以直接运行这些目录下的程序。

别名设置

用户可以在 .bashrc 文件中定义命令别名,这样可以简化常用命令的输入。例如,可以设置
alias ll=‘ls -l’ 来创建一个别名 ll,这样输入 ll 就等同于输入 ls -l。

函数定义:

用户可以在 .bashrc 文件中定义bash函数,这些函数可以在命令行中像普通命令一样调用。

提示符自定义

.bashrc 文件允许用户自定义命令行提示符(PS1),可以根据需要设置不同的格式和颜色。

资源文件包含

.bashrc 文件可以包含其他资源文件,比如 .bash_profile 或其他脚本,以便在启动新的 shell 会话时加载额外的配置。

启动脚本

用户可以在 .bashrc 文件中添加自定义的启动脚本,这些脚本会在每次打开新的终端窗口或标签页时运行。

历史命令配置

可以在 .bashrc 文件中配置命令历史的相关选项,比如历史记录的大小、忽略重复命令等。
当用户打开一个新的 shell 会话时,bash 会读取并执行 .bashrc 文件中的命令这意味着任何在 .bashrc 中的更改都会在新的 shell 会话中生效,但不会影响已经打开的 shell 会话。

要使 .bashrc 文件中的更改立即生效,可以使用以下命令:

source ~/.bashrc

或者使用快捷方式:

. ~/.bashrc

这两个命令都会重新执行 .bashrc 文件中的命令,使得配置更改立即在当前 shell 会话中生效。

第四部分:Linux和Windows操作系统中的文件路径

在Linux和Windows操作系统中,文件路径的表示方式有一些显著的区别。以下是两种系统下文件路径的详细介绍及其区别:

Linux文件路径

根目录

Linux文件系统以**根目录(/)**开始,所有的文件和目录都从根目录衍生出来。

目录分隔符

Linux使用**正斜杠(/)**作为目录分隔符。

目录结构:

Linux遵循一种层次化的目录结构,常见的目录包括:
/bin:存放系统命令
/etc:存放系统配置文件。
/home:用户的主目录通常位于此目录下。
/usr:用于存放用户程序和文件。
/var:用于存放经常变化的文件,如日志文件。

文件名大小写敏感:

Linux文件系统是大小写敏感的,这意味着file.txt和File.txt被视为不同的文件。

绝对路径和相对路径:

Linux支持绝对路径(从根目录开始的完整路径)相对路径(相对于当前工作目录的路径)

Windows文件路径

盘符:

Windows文件系统以盘符(如C:、D:)开始,每个盘符代表一个独立的文件系统

目录分隔符:

Windows使用反斜杠(\)作为目录分隔符,但在某些情况下也接受正斜杠(/),尤其是在命令行中。

目录结构:

Windows也有自己的目录结构,常见的目录包括:
C:\Windows:存放Windows操作系统文件
C:\Program Files:存放大多数程序安装的目录。
C:\Users:用户的主目录通常位于此目录下。

文件名大小写不敏感:

Windows文件系统默认是大小写不敏感的,但可以在NTFS文件系统上启用大小写敏感选项。

绝对路径和相对路径:

Windows同样支持绝对路径和相对路径,但绝对路径必须以盘符开始。

区别

根目录与盘符:

Linux有一个单一的根目录,而Windows有多个盘符,每个盘符有自己的根目录

目录分隔符:

Linux使用正斜杠(/),Windows使用反斜杠(\)

大小写敏感性:

Linux文件系统大小写敏感,Windows文件系统默认大小写不敏感

路径表示:

在Windows中,UNC路径(如\Server\Share\File)用于网络共享,而Linux通常使用NFS或SMB协议来访问网络文件系统。

环境变量:

Windows环境变量中路径的分隔符通常是分号(;),而Linux中是冒号(:)

特殊目录:

Windows中有特殊意义的目录,如C:\Windows和C:\Program Files,而Linux中有/etc、/var等。
了解这些区别有助于在跨平台环境中有效地管理和访问文件。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了return、环境变量、.bashrc文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7110.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

寒假1.23

题解 web&#xff1a;[极客大挑战 2019]Secret File&#xff08;文件包含漏洞&#xff09; 打开链接是一个普通的文字界面 查看一下源代码 发现一个链接&#xff0c;点进去看看 再点一次看看&#xff0c;没什么用 仔细看&#xff0c;有一个问题&#xff0c;当点击./action.ph…

ORB-SLAM2源码学习:Initializer.cc⑧: Initializer::CheckRT检验三角化结果

前言 ORB-SLAM2源码学习&#xff1a;Initializer.cc⑦: Initializer::Triangulate特征点对的三角化_cv::svd::compute-CSDN博客 经过上面的三角化我们成功得到了三维点&#xff0c;但是经过三角化成功的三维点并不一定是有效的&#xff0c;需要筛选才能作为初始化地图点。 …

微信小程序1.1 微信小程序介绍

1.1 微信小程序介绍 内容提要 1.1 什么是微信小程序 1.2 微信小程序的功能 1.3 微信小程序使用场景 1.4 微信小程序能取代App吗 1.5 微信小程序的发展历程 1.6微信小程序带来的机会

STM32 GPIO配置 点亮LED灯

本次是基于STM32F407ZET6做一个GPIO配置&#xff0c;实现点灯实验。 新建文件 LED.c、LED.h文件&#xff0c;将其封装到Driver文件中。 双击Driver文件将LED.c添加进来 编写头文件&#xff0c;这里注意需要将Driver头文件声明一下。 在LED.c、main.c里面引入头文件LED.h LED初…

vulnhub靶场【kioptrix-3】靶机

前言 靶机&#xff1a;kioptrix-3&#xff0c;IP地址为192.168.1.74 攻击&#xff1a;kali&#xff0c;IP地址为192.168.1.16 都采用虚拟机&#xff0c;网卡为桥接模式 文章中涉及的靶机&#xff0c;来源于vulnhub官网&#xff0c;想要下载&#xff0c;可自行访问官网下载&a…

Cloudflare通过代理服务器绕过 CORS 限制:原理、实现场景解析

第一部分&#xff1a;问题背景 1.1 错误现象复现 // 浏览器控制台报错示例 Access to fetch at https://chat.qwenlm.ai/api/v1/files/ from origin https://ocr.doublefenzhuan.me has been blocked by CORS policy: Response to preflight request doesnt pass access con…

VMware虚拟机安装Linux系统(openKylin)

首先打开VMware Workstation&#xff0c;点击创建新的虚拟机。 进入虚拟机引导界面后&#xff0c;选择“典型”选项&#xff0c;点击下一步&#xff1b; 选择“稍后安装操作系统”&#xff0c;点击下一步&#xff1b; 客户机操作系统选择“Linux”&#xff0c;版本选择Ubuntu 6…

RabbitMQ 多种安装模式

文章目录 前言一、Windows 安装 RabbitMq1、版本关系2、Erlang2.1、下载安装 Erlang 23.12.2、配置 Erlang 环境变量 3、RabbitMQ3.1、下载安装 RabbitMQ 3.8.93.2、环境变量3.3、启动RabbitMQ 管理插件3.3、RabbitMQ3.4、注意事项 二、安装docker1、更新系统包&#xff1a;2、…

【Java-数据结构】Java 链表面试题上 “最后一公里”:解决复杂链表问题的致胜法宝

我的个人主页 我的专栏&#xff1a;Java-数据结构&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;点赞❤ 收藏❤ 引言&#xff1a; Java链表&#xff0c;看似简单的链式结构&#xff0c;却蕴含着诸多有趣的特性与奥秘&#xff0c;等待我们去挖掘。它就像一…

【0x03】HCI_Connection_Complete事件详解

目录 一、事件概述 二、事件格式及参数详解 2.1. HCI_Connection_Complete事件格式 2.2. 事件参数 2.2.1. Status 2.2.2. Connection_Handle 2.2.3. BD_ADDR 2.2.4. Link_Type 2.2.5. Encryption_Enabled 三、事件处理流程 3.1. 事件触发 3.2. 事件接收与解析 3.…

激活版,快速安装

每天开机都要等待很长时间&#xff0c;玩游戏或看视频时频繁卡顿&#xff0c;甚至偶尔还会莫名其妙地崩溃。这种情况几乎每个人都遇到过&#xff0c;真是让人头疼不已。 别担心&#xff0c;其实有一种方法可以让你的电脑恢复如新&#xff0c;让我们一起看看如何解决这些烦恼吧…

二叉树(了解)c++

二叉树是一种特殊的树型结构&#xff0c;它的特点是: 每个结点至多只有2棵子树(即二叉树中不存在度大于2的结点) 并且二叉树的子树有左右之分&#xff0c;其次序不能任意颠倒&#xff0c;因此是一颗有序树 以A结点为例&#xff0c;左边的B是它的左孩子&#xff0c;右边的C是…

C#标准Mes接口框架(持续更新)

前言 由于近期我做了好几个客户的接入工厂Mes系统的需求。但是每个客户的Mes都有不同程度的定制需求&#xff0c;原有的代码复用难度其实很大。所以打算将整个接入Mes系统的框架单独拿出来作为一个项目使用&#xff0c;同时因为不同的设备接入同一个Mes系统&#xff0c;所以代…

【Nacos】负载均衡

目录 前言 一、服务下线二、权重配置三、同一个集群优先访问四、环境隔离 前言 我们的生产环境相对是比较恶劣的&#xff0c;我们需要对服务的流量进行更加精细的控制.Nacos支持多种负载均衡策略&#xff0c;包括配置权重&#xff0c;同机房&#xff0c;同地域&#xff0c;同环…

嵌入式MCU面试笔记2

目录 串口通信 概论 原理 配置 HAL库代码 1. 初始化函数 2. 数据发送和接收函数 3. 中断和DMA函数 4. 中断服务函数 串口通信 概论 我们知道&#xff0c;通信桥接了两个设备之间的交流。一个经典的例子就是使用串口通信交换上位机和单片机之间的数据。 比较常见的串…

DDD该怎么去落地实现(1)关键是“关系”

DDD落地的关键是“关系” 这些年&#xff0c;我认为DDD走到了一个死胡同里了&#xff0c;因为落地实现过于困难。很多团队在经过一段时间的学习&#xff0c;清楚理解了DDD那些晦涩的概念&#xff0c;根据业务绘制出领域模型&#xff0c;这都不困难。但绘制领域模型不是我们最终…

RabbitMQ---面试题

常见面试题 1.MQ的作用及应用场景 类似问题&#xff1a;项目什么情况下用到了MQ&#xff0c;为什么要用MQ MQ的主要应用场景&#xff0c;消息队列的应用场景&#xff0c;为什么说消息队列可以削峰 首先MQ是一种用来接收和转发消息的队列&#xff0c;常见的应用常见如下&…

PaddleSeg 从配置文件和模型 URL 自动化运行预测任务

git clone https://github.com/PaddlePaddle/PaddleSeg.git# 在ipynb里面运行 cd PaddleSegimport sys sys.path.append(/home/aistudio/work/PaddleSeg)import os# 配置文件夹路径 folder_path "/home/aistudio/work/PaddleSeg/configs"# 遍历文件夹&#xff0c;寻…

2_高并发内存池_各层级的框架设计及ThreadCache(线程缓存)申请内存设计

一、高并发内存池框架设计 高并发池框架设计&#xff0c;特别是针对内存池的设计&#xff0c;需要充分考虑多线程环境下&#xff1a; 性能问题锁竞争问题内存碎片问题 高并发内存池的整体框架设计旨在提高内存的申请和释放效率&#xff0c;减少锁竞争和内存碎片。 高并发内存…

WebODM之python实现

1、安装webodm_slam 主要是了解API文档,查看之前的文章 安装WebODM_slate 2、安装webodm 查看之前的文章 Win10安装WebODM和操作全流程 3、python脚本 项目案例 This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of…