加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 22:01:01 所属栏目:安全 来源:网络整理
导读:当我使用2个参数-c和SomeUserInput运行/ bin / bash进程时, 其中SomeUserInput是echo $TERM 输出是 xterm方式256color 有没有办法可以通过命令行参数将$TERM的值设置为/ bin / bash,这样echo $TERM的上述调用会打印出我指定的其他东西? (是的,我已经做了大
当我使用2个参数-c和SomeUserInput运行/ bin / bash进程时,

其中SomeUserInput是echo $TERM

输出是

xterm方式256color

有没有办法可以通过命令行参数将$TERM的值设置为/ bin / bash,这样echo $TERM的上述调用会打印出我指定的其他东西?

(是的,我已经做了大量挖掘男人的bash并在别处搜索,但找不到答案;虽然我认为它可能存在.)

解决方法

首先,由于您使用了双引号,因此在当前 shell中打印TERM的值,而不是您调用的bash.为此,请使用/ bin / bash -c’echo $TERM’.

要设置TERM的值,您可以在运行该命令之前导出TERM = linux,仅使用TERM = linux / bin / bash -c’echo $TERM'(shell表达式)或/usr/bin为该shell设置它/ env TERM = linux / bin / bash -c’echo $TERM'(execve compatible(对于find -exec)).

更新:
至于你只使用/ bin / bash的命令行参数的编辑,你可以这样做,而无需修改你的输入,如下所示:

/bin/bash -c 'TERM=something; eval "$1"' -- 'SomeUserInput'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读