社区
Linux/Unix社区
帖子详情
cshell脚本中source环境变量文件为什么无效?
cia00123
2010-05-07 05:21:31
环境变量文件名:cshrc
然后我在chsell脚本A.sh中如下:
#!/usr/bin/csh
source cshrc
然后我运行脚本:csh A.sh
发现cshrc中定义的变量无效啊!
这是为什么啊??cshell编程能自动实现source环境量吗?
...全文
1997
5
打赏
收藏
cshell脚本中source环境变量文件为什么无效?
环境变量文件名:cshrc 然后我在chsell脚本A.sh中如下: #!/usr/bin/csh source cshrc 然后我运行脚本:csh A.sh 发现cshrc中定义的变量无效啊! 这是为什么啊??cshell编程能自动实现source环境量吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
steptodream
2010-05-22
打赏
举报
回复
[Quote=引用 4 楼 cia00123 的回复:]
大哥们,拜托你们正面回答下啊。。我这么写肯定有我的用处啊。。我也知道就一句话的事!
[/Quote]
那是由linux系统决定 无法更改
你调用shell脚本 一定会fork一个子进程
shell本身提供的source .等内建命令 就是让你的设置环境变量在当前shell下生效 不用fork子进程
cia00123
2010-05-10
打赏
举报
回复
大哥们,拜托你们正面回答下啊。。我这么写肯定有我的用处啊。。我也知道就一句话的事!
steptodream
2010-05-07
打赏
举报
回复
[Quote=引用 2 楼 mymtom 的回复:]
当然是无效的。
csh A.sh启动一个新的csh并运行A.sh 在A.sh里,cshrc里设置的环境变量都会生效的,但是A.sh退出后,一切都没有改变。其实在A.sh用source cshrc没有什么意义。
你直接输入
source cshrc不就可以了吗?
[/Quote]
看了你的回复 才发现楼主是把设置环境变量source cshrc放在脚本里执行
这不是多次一举么 就一句话 你还得写脚本里 弄巧成拙!
mymtom
2010-05-07
打赏
举报
回复
当然是无效的。
csh A.sh启动一个新的csh并运行A.sh 在A.sh里,cshrc里设置的环境变量都会生效的,但是A.sh退出后,一切都没有改变。其实在A.sh用source cshrc没有什么意义。
你直接输入
source cshrc不就可以了吗?
steptodream
2010-05-07
打赏
举报
回复
你在cshrc里是如何设置环境变量的哦
csh设置环境变量是setenv
例子
setenv JAVA_HOME /usr/local/java
sh
ell
脚本
中
包含
环境变量
的设置命令需要用
source
命令执行才会生效
因为每次运行程序都得设置一些
环境变量
,所以我在想能不能把这些
环境变量
的设置放到一个sh
ell
脚本
里,这样我每次执行这个
脚本
就行了,不用每次都去到处找
环境变量
的值应该设置成什么字符串,所以写了一个类似下面这样一个sh
ell
脚本
#!/bin/bash export XXX=YYY export AAA=BBB export CCC=DDD 写完之后,谨慎如我,当然没忘记给
文件
添加可执行权限,假设...
sh
ell
脚本
之sh
ell
内部变量和
环境变量
这篇博客介绍:1、部分常用的内部变量2、
环境变量
变量的分类可以参考:点击打开链接1、部分常用的内部变量: ⑴ # 说明:$#变量是命令行参数或位置参数的数量 ⑵ - 说明:$-变量是传递给sh
ell
脚本
的执行标志 ⑶ ? 说明:$? 变量是最近一次执行的命令或sh
ell
脚本
的出口状态 ⑷ $ 说明:$$ 变量是...
Sh
ell
脚本
学习_
环境变量
深入
能够自定义系统级
环境变量
1.能够说出交互式Sh
ell
与非交互式Sh
ell
2.能够说出登录Sh
ell
与非登录Sh
ell
环境用户进入Linux系统就会初始化Sh
ell
环境,这个环境会加载全局配置
文件
和用户个人配置
文件
中
的
环境变量
,每个
脚本
文件
都有自己的Sh
ell
环境在执行一个
脚本
文件
时可以指定具体Sh
ell
环境进行执行
脚本
文件
,这个就是切换Sh
ell
环境执行
脚本
。
5.4-在sh
ell
脚本
中
引用
环境变量
sh
ell
维护跟踪特定系统信息的
环境变量
,这些系统信息包含: 系统的名称 登录到系统
中
的用户名 用户的系统ID(称为UID) 用户的默认根目录 sh
ell
查找程序使用的搜索路径等, 使用set命令,可以显示活动
环境变量
的完整列表: [root@hadoop ~]# set BASH=/bin/bash BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_C...
sh
ell
脚本
_永久
环境变量
和字符串操作
在本篇
中
,我们探讨了设置永久
环境变量
的常见方法,并且详细介绍了如何通过编辑 sh
ell
配置
文件
来实现变量的持久化。
环境变量
的配置不仅仅是为了简化
脚本
执行,还能让不同程序和工具之间相互配合,提高开发效率。
Linux/Unix社区
23,217
社区成员
74,541
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章