吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 177|回复: 4
上一主题 下一主题
收起左侧

[学习记录] shell脚本执行无结果回显事件

[复制链接]
跳转到指定楼层
楼主
忧花殇倾城泪 发表于 2024-11-22 15:20 回帖奖励
本帖最后由 忧花殇倾城泪 于 2024-11-22 15:25 编辑

疑问
  有些指令在Linux命令行中明明可以直接执行,为什么但写入shell脚本中却没有回显呢?
  正常情况应该是可以在命令行执行的指令,在shell脚本中用``(返单引号)囊括起来便可执行,如下图



  非正常情况,命令行可执行,shell脚本中执行无回显,如下图



检查
  在Linux中有外部命令和内置命令的区分,区分方法:通过which指令,回显结果为no的都是bash内置命令


  通过在脚本添加以下指令,查看解析器是否启用history指令
set -o | grep history
  可以看出无论哪个解析器都没有启用


解决
  通过在脚本添加以下指令,为解析器启用history指令

HISTFILE=~/.bash_historyset -o history
  这样c.sh执行结果将会有回显,具体对比如下图


总结
  若读者有遇到相同情况,可以将history改为其他指令,先检查后解决。同样的脚本,在其他人系统上可能是没有问题的,题主使用的是centos7,也有群友使用centos7可以成功执行脚本,目前也不清楚是什么原因。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
lyn1875 发表于 2024-11-22 16:36
感谢分享
3#
huayu666 发表于 2024-11-22 17:00
4#
sapin 发表于 2024-11-22 21:34
https://unix.stackexchange.com/questions/5684/history-command-inside-bash-script

说得挺好的,history是shell built-in,会记录在history文件里. noninteractive shell里自然用不了

5#
Abs1nThe 发表于 2024-11-22 23:48
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-23 02:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表