gpt4 book ai didi

bash - 脚本中的“history -s”不起作用

转载 作者:行者123 更新时间:2023-11-29 09:14:17 25 4
gpt4 key购买 nike

我是 linux 的新手,并且疯狂地尝试学习 bash,最终学习 zsh。无论如何,目前这让我感到难过:

#!/bin/bash
history -s "a_string"

.... 不起作用。我已经尝试了十几个关于这个想法的变体,但没有什么可以削减它。有任何想法吗?

最佳答案

子 shell 不是交互式的,因此不保存历史父 shell 不重新加载历史。

解决此问题的典型方法:

  1. 使用别名而不是脚本

       alias doit='history -s "a_string"'  
    unalias doit
  2. 使用 shell 函数代替脚本

       function doit() { 
    echo "A function is a lot like a script"
    history -s "but operates in a subshell only when a bash command does (piping)"
    }
    unset doit
  3. source 脚本,而不是在子 shell 中执行

    source ./myscript.sh
    . ./myscript.sh # equivalent shorthand for source

关于bash - 脚本中的“history -s”不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com