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

bash – 使用“!”在脚本中执行具有相同参数的命令

发布时间:2020-12-15 20:58:39 所属栏目:安全 来源:网络整理
导读:在 shell中,我运行以下命令没有问题, ls -al !ls 对ls的第二次调用还列出了带-al标志的文件.但是,当我将上述脚本放到bash脚本中时,会抛出投诉, !ls,命令未找到. 如何在脚本中实现相同的效果? 解决方法 您需要在脚本中打开命令历史记录和!-style历史记录扩
在 shell中,我运行以下命令没有问题,

ls -al

!ls

对ls的第二次调用还列出了带-al标志的文件.但是,当我将上述脚本放到bash脚本中时,会抛出投诉,

!ls,命令未找到.

如何在脚本中实现相同的效果?

解决方法

您需要在脚本中打开命令历史记录和!-style历史记录扩展(默认情况下,这些都在非交互式shell中关闭):

set -o history
set -o histexpand

扩展命令也会响应标准错误,就像在交互式shell中一样.您可以通过打开histverify shell选项(shopt -s histverify)来阻止它,但在非交互式shell中,这似乎使历史扩展成为空操作.

(编辑:李大同)

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

    推荐文章
      热点阅读