首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在通过命令行运行/bin/bash时将$TERM设置为值?

问如何在通过命令行运行/bin/bash时将$TERM设置为值?
EN

Stack Overflow用户
提问于 2013-01-22 20:53:57
回答 2查看 19.5K关注 0票数 5

当我使用两个参数/bin/bash ( -c和SomeUserInput )运行该进程时,

其中SomeUserInput是echo $TERM

输出是

xterm-256color

我是否可以通过命令行参数/bin/bash将$TERM的值设置为,以便上面对echo $TERM的调用可以打印我指定的其他内容?

(是的,我在man bash中做了很多调查,并在其他地方搜索过,但是找不到答案;尽管我认为它可能在那里。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-22 21:01:08

首先,由于您使用了双引号,所以它会在当前shell中打印术语的值,而不是您调用的bash。要做到这一点,请使用/bin/bash -c 'echo $TERM'。

要设置术语的值,可以在运行该命令之前先将其设置为export TERM=linux,只对具有TERM=linux /bin/bash -c 'echo $TERM' (shell表达式)或/usr/bin/env TERM=linux /bin/bash -c 'echo $TERM' (execve兼容的)的shell设置它(如查找-exec)。

Update:对于只使用命令行参数到/bin/bash的编辑,您可以这样做,而不必像这样修改输入:

代码语言:javascript
复制
/bin/bash -c 'TERM=something; eval "$1"' -- 'SomeUserInput'
票数 7
EN

Stack Overflow用户

发布于 2013-01-22 20:57:45

好的,您可以在.bashrc文件上设置变量,也可以简单地使用bash调用设置:

代码语言:javascript
复制
/bin/bash -c "TERM=something-else; echo $TERM"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14467809

复制
相关文章

相似问题

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