首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是什么原因导致csh脚本有时不是源/etc/csh.cshrc?

是什么原因导致csh脚本有时不是源/etc/csh.cshrc?
EN

Unix & Linux用户
提问于 2014-05-01 04:18:22
回答 1查看 6K关注 0票数 3

我有一个csh后安装脚本,它是从rpm %post执行的,它的解释器行设置为#!/bin/csh (没有-f选项)。这将导致在执行脚本的其余部分之前读取文件/etc/csh.cshrc,根据bsd-csh(1)tcsh(1)的手册页。我在/etc/csh.cshrc中有一些系统范围的环境变量和别名定义,脚本依赖它们才能正常工作。预期的行为是,当csh执行脚本时,它首先获取系统范围的定义,然后脚本成功运行。

这确实有效,至少在最初的某些条件下是这样。csh脚本总是在rpm %post部分中以相同的方式调用。但是,取决于应用程序rpm安装是如何执行的,脚本可能不会提取期望的变量和错误,因此在我看来,它可能根本就不是/etc/csh.cshrc。安装可以在根登录shell中完成,可以通过sudo、通过ssh、从cron或从其他进程启动。其中至少有一个引入了一些不同之处,从而阻止了/etc/csh.cshrc的来源。除了-f选项之外,我在手册页中没有看到会导致这种情况的任何东西。

EN

回答 1

Unix & Linux用户

发布于 2020-08-21 19:38:05

确保csh真的在运行!

运行which csh以获得csh的位置。

运行ls -l /path/returned/by/which/csh

在我的例子中,csh被映射到tcsh

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/127380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档