当前位置: 首页 > news >正文

【CSH 入门基础 8 -- csh 中 set 与 setenv 的区别 】

文章目录

      • set 命令
      • setenv 命令
      • 区别
      • 设置系统路径变量PATH
        • 添加单个路径
        • 设置多个路径
      • 举例
      • 例子:编辑 .cshrc 文件
    • 设置文件路径
      • 设置和使用局部变量
      • 永久设置变量

csh(C shell)和它的变体 tcsh(增强型 C shell)中,setsetenv 是设置变量的两个不同命令。它们分别用于设置 shell 变量和环境变量。以下是两者的详细介绍和例子:

set 命令

set 命令用于定义或修改 shell 变量的值。Shell 变量只在当前 shell 中有效,并不会被子 shell 或其他程序继承。
语法:

set variable=value 

例子:

set myvar="Hello World" 

这个命令创建了一个名为 myvar 的 shell 变量,并给它赋值为字符串 “Hello World”。
要显示变量的值,可以使用 echo 命令:

echo $myvar 

要清除变量,使用 unset 命令:

unset myvar 

setenv 命令

setenv 命令用于设置环境变量。与 shell 变量不同,环境变量会被传递给当前 shell 的子进程。这些变量通常用于配置系统行为或提供程序运行时需要的信息。

语法:

setenv VARIABLE VALUE 

注意 VARIABLE 通常大写,但这不是必须的。

例子:

setenv PATH "/usr/local/bin:$PATH" 

这个命令将 /usr/local/bin 添加到当前的 PATH 环境变量之前。$PATH 是引用现有的 PATH 值。

要显示环境变量的值,可以直接 echo

echo $PATH 

要清除环境变量,使用 unsetenv 命令:

unsetenv PATH

区别

主要区别在于它们设置的变量类型不同:

  • set 用于设置 shell 变量,这些变量只在当前 shell 中有效。
  • setenv 用于设置环境变量,这些变量能够被当前 shell 及其子进程所继承。

环境变量通常用于系统配置,而 shell 变量更多用于控制 shell 本身的行为。例如,PATH 是一个环境变量,它告诉 shell 在哪些目录中查找可执行文件;prompttcsh 的 shell 变量,用于设置命令提示符的显示样式。

设置系统路径变量PATH

csh 中,你可以使用 set 命令来设置路径变量。你可以添加一个新的目录到 path,也可以重置整个 path 变量。以下是两种常见的设置方式:

添加单个路径
set path = ($path /new/directory) 

这个命令将 /new/directory 添加到现有的 path 变量列表中。注意 $path 是引用现有的 path 内容,新的目录 /new/directory 被添加到这个列表的末尾。

设置多个路径
set path = (/usr/local/bin /usr/bin /bin /new/directory) 

这个命令完全重置 path 变量,包含了新的一系列目录。

举例

假设你想添加你的家目录下的 bin 目录到 path,以便你能够直接执行那个目录中的脚本和程序。 在 csh 中,你可以执行以下命令:

set path = ($path ~/bin) 

这样设置之后,如果你有可执行文件在 ~/bin 目录中,你可以从任何位置直接通过文件名来调用它们,就像其他系统命令一样。

如果你想让这个变更在每次登录时自动生效,你应该将这行命令添加到你的 home 目录下的 .cshrc 文件中。.cshrc 文件是 csh 启动时读取的配置文件,类似于 Bash 的 .bashrc

例子:编辑 .cshrc 文件

打开 .cshrc 文件:

vi ~/.cshrc 

然后添加设置 path 变量的命令:

set path = ($path ~/bin) 

保存并退出编辑器。 下次当你打开一个新的 csh 会话时,你的 path 将自动包含你的 ~/bin 目录。

设置文件路径

csh (C Shell) 中设置文件路径通常涉及到定义环境变量,这些环境变量可以用来存储文件或目录的路径,便于在脚本或命令行中使用。以下是如何在 csh 中设置文件路径的不同场景。

设置和使用局部变量

如果你不需要在子进程中使用某个路径变量,你可以使用 set 命令来定义一个局部变量:

set my_file = "/path/to/my/file" 

局部变量 my_file 可以在当前 csh 会话中使用,但不会传播到子进程。你可以通过 $my_file 来引用它:

cat $my_file 

永久设置变量

如果你想要每次开启 csh 都能使用这些变量,你可以将 setenv 或者 set 命令添加到你的 ~/.cshrc 文件中。例如:

echo 'setenv MY_FILE_PATH "/path/to/my/file"' >> ~/.cshrc 

这样,每当你启动一个新的 csh 会话时,MY_FILE_PATH 环境变量就会自动设置。 记得每次修改 ~/.cshrc 文件后,为了让变更立即生效,可以通过 source 命令重新读取文件: csh source ~/.cshrc 或者简单地开启一个新的 csh 会话。

相关文章:

【CSH 入门基础 8 -- csh 中 set 与 setenv 的区别 】

文章目录 set 命令setenv 命令区别设置系统路径变量PATH添加单个路径设置多个路径 举例例子:编辑 .cshrc 文件 设置文件路径设置和使用局部变量永久设置变量 在 csh(C shell)和它的变体 tcsh(增强型 C shell)中&#x…...

Vue 2.0的源码构建

Vue.js 源码是基于 Rollup 构建的,它的构建相关配置都在 scripts 目录下。 1. 构建脚本 通常一个基于 NPM 托管的项目都会有一个 package.json 文件,它是对项目的描述文件,它的内容实际上是一个标准的 JSON 对象。 我们通常会配置 script …...

Kubernetes Gateway API 攻略:解锁集群流量服务新维度!

Kubernetes Gateway API 刚刚 GA,旨在改进将集群服务暴露给外部的过程。这其中包括一套更标准、更强大的 API资源,用于管理已暴露的服务。在这篇文章中,我将介绍 Gateway API 资源,并以 Istio 为例来展示这些资源是如何关联的。通…...

直播间弹幕直播游戏开发教程

随着直播技术的不断发展,交互式弹幕直播游戏成为吸引用户参与的新兴方式。这种游戏融合了实时弹幕互动和直播视频,为观众和主播提供了更加丰富的互动体验。在这篇文章中,我们将探讨从概念到实现的步骤,帮助你打造一款引人入胜的交…...

通过AppLink把拼多多热门榜单商品同步至小红书

上篇说到AppLink当中定时调度方式如何配置,这次来演示一下,如何把热门榜单信息同步至小红书 1.拉取一个定时器作为触发动作,通过配置定时器调度时间将定时策略配置为每天执行一次 2.触发动作完成后通过好单库获取拼多多每日热门榜单&#xf…...

力扣题目学习笔记(OC + Swift)

训练思维,提高编程能力,不为刷题而刷题 文章目录 1. 两数之和Swift版本OC版本 2. 两数相加Swift实现OC实现 3.无重复字符的最长子串SwiftOC 4.寻找两个正序数组的中位数SwiftOC 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请…...

20. Spring源码篇之@Lookup详解

简介 Lookup注解可能平时开发中大家接触的少,但是又确实挺有用的,比如我们一个单例Bean注入了一个原型Bean,原型Bean的效果其实是会失效的,因为单例Bean一开始就实例化好了,后面也不会再变化,但我们可能需…...

2.5计划任务远程管理

2.5计划任务/远程管理 一、计划任务 1、计划任务概念解析 在Linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间、指定的日期 执行预先计划好的系统管理任务(如定期备份、定期采集监测数据)。RHEL6系统中…...

光伏、储能双层优化配置接入配电网研究(附带Matlab代码)

由于能源的日益匮乏,电力需求的不断增长等,配电网中分布式能源渗透率不断提高,且逐渐向主动配电网方向发展。此外,需求响应(demand response,DR)的加入对配电网的规划运行也带来了新的因素。因此,如何综合考…...

低代码服务商,中小型数字化软件服务商的新出路

数字化时代大背景下,企业信息化向数字化转型成为所有企业发展的必由之路,企业在对业务模式、流程、组织形式、信息技术等方面进行重新定义时,软件必然参与价值创造的全过程,这势必驱使软件成为推动数字化转型的“引擎”&#xff0…...

Arcgis 日常天坑问题2——三维场景不能不能加载kml图层,着手解决这个问题

arcgis js api官网介绍kml图层的地址: shttps://developers.arcgis.com/javascript/latest/api-reference/esri-layers-KMLLayer.html从文档里看到kml图层有诸多限制,比较重要的两点是: 1、不能在三维场景(SceneView&#xff0…...

Ubuntu22.04 交叉编译GCC13.2.0 for Rv1126

一、安装Ubuntu22.04 sudo apt install vim net-tools openssh-server 二、安装必要项 sudo apt update sudo apt upgrade sudo apt install build-essential gawk git texinfo bison flex 三、下载必备软件包 1.glibc https://ftp.gnu.org/gnu/glibc/glibc-2.38.tar.gz…...

什么是EVM?以太坊EVM合约交互

目录 什么是EVM? 为什么 EVM 很重要? 结论 虚拟机引擎 以太坊虚拟机...

Vue Treeselect el-tree-select 多选 只选中第三级

话不多说,直接看代码: <Treeselect v-model"scope.row.mdeptIds" :normalizernormalizer :defaultExpandLevel"2" :disable-branch-nodes"true" :multiple"true":append-to-body"true" :z-index"9999" style…...

Stable Diffusion专场公开课

从SD原理、本地部署到其二次开发 分享时间&#xff1a;11月25日14&#xff1a;00-17&#xff1a;00 分享大纲 从扩散模型DDPM起步理解SD背后原理 SD的本地部署:在自己电脑上快速搭建、快速出图如何基于SD快速做二次开发(以七月的AIGC模特生成系统为例) 分享人简介 July&#…...

【Typroa使用】Typroa+PicGo-Core(command line)+gitee免费图片上传配置

TyproaPicGo-Core(command line)gitee免费图片上传配置 本文是在win10系统下配置typroapicGo-Core(command line)gitee图片上传的教程。需要的环境和工具有&#xff1a; gitee账号&#xff0c;新建仓库及token令牌&#xff1b;已经安装了的typroa&#xff0c;需要0.9.98版本以上…...

【云原生-Kurbernetes篇】HPA 与 Rancher管理工具

文章目录 一、Pod的自动伸缩1.1 HPA1.1.1 简介1.1.2 HPA的实现原理1.1.3 相关命令 1.2 VPA1.2.1 简介1.2.2 VPA的组件1.2.3 VPA工作原理 1.3 metrics-server简介 二、 HPA的部署与测试2.1 部署metrics-serverStep1 编写metrics-server的配置清单文件Step2 部署Step3 测试kubect…...

Python学习笔记(4)

《Python编程&#xff1a;从入门到实践》学习笔记 1.文件和异常 1.1 从文件中读取数据 1.1.1 读取整个文件 要读取文件&#xff0c;需要一个包含几行文本的文件。下面首先来创建一个文件&#xff0c;它包含精确到小数 点后30位的圆周率值&#xff0c;且在小数点后每10位处都换…...

算法通关村第十二关-青铜挑战字符串

大家好我是苏麟 , 今天带来字符串专题 . 转换成小写字母 描述 : 给你一个字符串 s &#xff0c;将该字符串中的大写字母转换成相同的小写字母&#xff0c;返回新的字符串。 题目 : LeetCode 709.转换成小写字母 : 709. 转换成小写字母 分析 : 这个题可以先遍历整个字符串…...

网站被反诈拦截该怎么申诉与解封

随着互联网的发展&#xff0c;网络诈骗问题也日益突出。为了打击这类问题&#xff0c;反诈中心采取了一系列的措施&#xff0c;如打击违规诈骗网站和APP&#xff0c;标记诈骗手机号等。虽然这些措施在一定程度上取得了效果&#xff0c;但是也不可避免会出现审核不到位的情况。 …...

多线程并行性如何提升桌面应用交互性能

1. 多线程并行性对桌面应用交互性能的影响机制 在2000年的ASPLOS会议上&#xff0c;一项关于线程级并行性&#xff08;Thread-Level Parallelism, TLP&#xff09;对桌面应用交互性能影响的研究揭示了几个关键发现。这项研究通过对比单核与双核处理器在运行典型桌面应用时的表现…...

Anthropic出手!AI的内心独白,曝光了

一水 发自 凹非寺量子位 | 公众号 QbitAIAI之所以不可控&#xff0c;很大一部分原因是它的思考过程不透明。就像和人打交道一样&#xff0c;你永远没办法真正看清&#xff0c;对方是不是“嘴上一套、心里一套”。而这一次&#xff0c;Anthropic撕开了这个黑箱。就在刚刚&#x…...

南北阁Nanbeige 3B环境配置:从操作系统重装到模型服务上线全流程

南北阁Nanbeige 3B环境配置&#xff1a;从操作系统重装到模型服务上线全流程 如果你刚拿到一台新机器&#xff0c;或者想把旧机器彻底清理干净&#xff0c;从头开始搭建一个AI模型运行环境&#xff0c;那这篇文章就是为你准备的。整个过程听起来有点复杂&#xff0c;但别担心&…...

[实战指南] 2026年工程图纸数字化与检验计划自动化的技术路径

在 2026 年的智能制造体系中&#xff0c;工程图纸数字化&#xff08;engineering drawing digitization&#xff09;已成为连接研发设计与质量检测的关键纽带。面对日益复杂的几何公差&#xff08;GD&T&#xff09;要求&#xff0c;传统的依靠人工在纸质或 PDF 图纸上圈选标…...

CANN/HCOMM AI CPU通信算子编译部署

编译部署 【免费下载链接】hcomm HCOMM&#xff08;Huawei Communication&#xff09;是HCCL的通信基础库&#xff0c;提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm 开发者完成通信算子开发之后&#xff0c;需部署到运行环境上进行功能…...

OpenClaw文件访问控制插件:构建AI代理安全防护层

1. 项目概述&#xff1a;为OpenClaw构建文件访问控制层 如果你正在运行一个多用户的OpenClaw智能体&#xff0c;尤其是在Slack、Discord这类团队协作平台上&#xff0c;一个核心的安全隐患会立刻浮现&#xff1a;聊天室里的任何一个人&#xff0c;都可以直接要求AI去修改你的技…...

为 OpenClaw 配置 Taotoken 作为模型供应商的详细步骤

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为 OpenClaw 配置 Taotoken 作为模型供应商的详细步骤 OpenClaw 是一个流行的开源智能体框架&#xff0c;它允许开发者轻松构建和运…...

HDMI 1.4技术解析:以太网与音频回传的创新设计

1. HDMI 1.4技术演进与核心价值2002年诞生的HDMI接口&#xff0c;经过短短8年发展已在全球部署超过11亿台设备。作为DVI接口的增强版&#xff0c;HDMI通过三组TMDS差分串行通道传输数据。早期版本&#xff08;1.2及以下&#xff09;的165MHz时钟频率提供4.95Gbps总带宽&#xf…...

CANN/ops-cv算子跨平台迁移指导

算子跨平台迁移指导 【免费下载链接】ops-cv 本项目是CANN提供的图像处理、目标检测相关的算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-cv 本指南介绍算子在多平台间迁移的适配要点与方案。以算子从Atlas A2系列迁移至Ascend …...

CANN/ops-transformer FlashAttentionScore算子

FlashAttentionScore 【免费下载链接】ops-transformer 本项目是CANN提供的transformer类大模型算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-transformer 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练…...