首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Bash/Shell:如何在不删除被调用者历史函数的情况下添加到历史中

在Bash/Shell中,可以通过以下步骤在不删除被调用者历史函数的情况下将函数添加到历史中:

  1. 打开终端并进入Bash/Shell环境。
  2. 使用文本编辑器(如vi、nano等)创建一个新的脚本文件,例如myscript.sh
  3. 在脚本文件中定义你的函数,例如:
代码语言:txt
复制
my_function() {
    # 函数的具体实现代码
    echo "Hello, World!"
}
  1. 保存并关闭脚本文件。
  2. 使用source命令或.命令来加载脚本文件,例如:
代码语言:txt
复制
source myscript.sh

代码语言:txt
复制
. myscript.sh
  1. 现在,你可以直接调用my_function函数,例如:
代码语言:txt
复制
my_function
  1. 调用函数后,你可以使用上下箭头键来浏览历史命令。当你浏览到函数调用时,按下回车键即可执行该函数。

这样,你就可以在不删除被调用者历史函数的情况下将函数添加到Bash/Shell的历史中。

注意:以上步骤仅适用于将函数添加到当前会话的历史中。如果你希望在每次启动Bash/Shell时都能够使用该函数,可以将脚本文件添加到你的Shell配置文件(如.bashrc.bash_profile)中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux基础命令行使用技巧

zsh示例可编程补全:接下来定义函数与变量跟 bash 示例相似 words 相当于 bash COMP_WORDS CURRENT 与 bash COMP_CWORD 类似 COMPREPLY...在LinuxShell终端里我们也可以将前面的命令进行复用,下面我们将先从设置历史变量以及如何查看、搜索、以及前后移动历史说起; 设置历史记录 描述:无论是 bash 还是 zsh,都能够将我们已经执行过命令存储到一个文件...比如:在HISTSIZE 设为 1000 情况下,而 HISTFILESIZE 却为 500。 因为:历史命令数大于文件行数,所以有部分历史命令不能保存到历史文件。...查看历史命令 描述:Shell 本身提供了 history 这个内置命令来让我们随时查看所记录历史命令; bash查看历史命令 #示例1.数字后面带 * 号行则说明已经修改过 ~$ history...shell.允许以#开头词以及同一行其他字符忽略.缺省为打开 lastpipe off lithist off #如果打开,且cmdhist选项也打开,多行命令讲用嵌入换行符保存到历史

6K20

Linux基础命令行使用技巧

zsh示例可编程补全:接下来定义函数与变量跟 bash 示例相似 words 相当于 bash COMP_WORDS CURRENT 与 bash COMP_CWORD 类似 COMPREPLY...在LinuxShell终端里我们也可以将前面的命令进行复用,下面我们将先从设置历史变量以及如何查看、搜索、以及前后移动历史说起; 设置历史记录 描述:无论是 bash 还是 zsh,都能够将我们已经执行过命令存储到一个文件...比如:在HISTSIZE 设为 1000 情况下,而 HISTFILESIZE 却为 500。 因为:历史命令数大于文件行数,所以有部分历史命令不能保存到历史文件。...查看历史命令 描述:Shell 本身提供了 history 这个内置命令来让我们随时查看所记录历史命令; bash查看历史命令 #示例1.数字后面带 * 号行则说明已经修改过 ~$ history...shell.允许以#开头词以及同一行其他字符忽略.缺省为打开 lastpipe off lithist off #如果打开,且cmdhist选项也打开,多行命令讲用嵌入换行符保存到历史

5.8K63
  • history命令使用方法详解

    history是一条非常实用shell命令,可以显示出之前在shell运行命令,配合last显示之前登录用户,就可以追溯是哪个用户执行了某些命令。...使用HISTTIMEFORMAT在历史显示TIMESTAMP 默认情况下,history并不记录命令执行时间,分析起来很困难。 ?...用HISTSIZE控制历史命令总数 # 内存history条数,退出登陆之后会写到~/.bash_history文件里 export HISTSIZE=450 # 文件存储最大history条数...=0 使用HISTFILE改变历史文件名 默认情况下,命令历史储存在.bash_history文件,把下面的一行添加到.bash_profile文件,重新登录shell,则新文件将取代.bash_history...注意在HISTIGNORE添加“ls”,只忽略“ls”忽略“ls –l”。一定要准确写出要忽略指令。 export HISTIGNORE=”pwd:ls:history”

    1.1K70

    渗透测试基础- - -linux权限维持应急

    目录 0x01 隐藏文件 0x02 隐藏文件时间戳 0x03 隐藏权限 0x04 隐藏历史操作命令 技巧一:只针对你工作关闭历史记录 技巧二:从历史记录删除指定命令 0x05 进程隐藏 第一种方法...在shell执行命令,希望记录在命令行历史,如何在linux开启无痕操作模式呢?...技巧二:从历史记录删除指定命令 假设历史记录已经包含了一些你希望记录命令。这种情况下我们怎么办?很简单。...从历史记录删除那个指定项: history -d [num] 这种技巧是关键记录删除,或者我们可以暴力点,比如前150行是用户正常操作记录,150以后是攻击者操作记录。...我们可以只保留正常操作,删除攻击痕迹历史操作记录,这里,我们只保留前150行: sed -i '150,$d' .bash_history 0x05 进程隐藏 管理员无法通过相关命令工具查找到你运行进程

    1.1K20

    Linux学习笔记(四)

    用户添加自己命令到系统环境变量只需要使用如下命令,将可执行文件目录添加到原有的系统环境变量PATH后面。...shell会按照下列顺序,运行第一个找到问题件,找到之后则忽略后面的 ~/.bash_profile ~/.bash_login ~/.profile 注意:这个列表没有~/.bashrc文件,...这是因为该文件往往是在其它文件(:.profile,也可能是.bash_profile)中被执行。...HISTFILE 保存shell历史记录列表文件名(默认是bash history) hISTFILESIZe 最多在历史文件存多少行 HISTTIMEFORMAT 如果设置了且非空,就用作格式化字符串...,以显示bash历史每条命令时间戳 HISTIGNORE 由冒号分隔模式列表,用来决定历史文件哪些命令会被忽略 HISTSIZE 最多在历史文件存多少条命令 HOSTFILE shell在补全主机名时读取文件名称

    1.1K10

    【权限维持】Linux下几种隐藏技术

    0x03 隐藏历史操作命令 在shell执行命令,希望记录在命令行历史,如何在linux开启无痕操作模式呢?...上面的命令会临时禁用历史功能,这意味着在这命令之后你执行所有操作都不会记录到历史,然而这个命令之前所有东西都会原样记录在历史列表。...技巧二:从历史记录删除指定命令 假设历史记录已经包含了一些你希望记录命令。这种情况下我们怎么办?很简单。...通过下面的命令来删除: history | grep "keyword" 输出历史记录匹配命令,每一条前面会有个数字。从历史记录删除那个指定项: history -d [num] ?...我们可以只保留正常操作,删除攻击痕迹历史操作记录,这里,我们只保留前150行: sed -i '150,$d' .bash_history 0x04 端口复用 通过端口复用来达到隐藏端口目的,在Linux

    2.9K20

    centos7 shell 清除最近30条shell历史记录

    不管用 history -c 在CentOS 7系统,如果你想清除最近30条shell历史记录,而不是全部清空,bash shell并没有直接提供一个命令来删除特定数量历史记录。...# 删除前30行 不过,请注意上述方法假设你.bash_history文件是按照最新命令在最下面排列,这是大多数Linux系统默认设置。...还有一种临时解决方案是在当前会话不影响历史文件情况下不保存最近执行命令到历史记录,但这并不能删除已经存储在.bash_history文件记录: export HISTSIZE=0 # 不保存新命令到历史记录...要清除CentOS 7系统当前用户bash shell所有历史记录,可以按照以下步骤操作: 清除内存历史命令记录(当前会话): history -c 清除用户目录下保存历史命令文件 .bash_history...: echo > ~/.bash_history 或者使用 truncate 命令清空文件内容: truncate -s 0 ~/.bash_history 这样就可以确保已登录用户所有历史记录清除

    9500

    Linux 下 History 命令

    行为可能因为 shell 不同而不同。我将将会介绍 Bash 内建history命令。 最简单形式,当我们不带任何选项输入history命令,它将会展示整个历史,同时显示行号。...检查 Bash 手册,获取更多信息。 保留历史列表 默认情况下,当启动一个新会话时,Bash 会从.bash_history文件读取历史命令列表。...当使用了一个负数时,倒数第几个命令将会被删除。 上面的命令清除了保存在内存历史列表,但是没有从磁盘上.bash_history文件移除。...当你要修改历史行为,在~/.bashrc或者其他任何用户登录需要加载配置文件. 默认情况下Bash 只保留 500 行历史命令列表。这个HISTSIZE变量允许你修改这个值。...为了将这个值修改为 10000,你可以将下面的代码添加到.bashrc文件: HISTSIZE=10000 HISTCONTROL接受一个冒号分隔值来定义命令如何保存历史列表: ignorespace

    2.9K20

    Linux下.bashrc文件探索~

    不知道为什么没有东西~ 在profile添加环境变量 一般建议在/etc/profile文件添加环境变量,因为在这个文件添加设置会对所有用户起作用。....bashrc 当你登入shell时执行 请注意后两个区别:’.bash_profile’只在会话开始时读取一次,而’.bashrc’则每次打开新终端时,都要被读取。...在大多数情况下,您不能用“PATH=/some /directory”,因为这将删除 PATH 其他所有目录,这样您在该终端运行程序时,就不得不给出完整路径。...为了将目录永久添加到 $PATH ,只要将”export”那行添加到.bashrc或/etc/bashrc文件。 ?...在 man bash ’PROMPTING’部分,对这些参数(parameter)有详细说明。您可以加入一些小玩意,如不同格式的当前时间,命令历史记录号,甚至不同颜色。

    12.5K20

    Linux操作系统 用户管理,也就是关于用户相关操作与理解

    例如,如果你是一名开发人员,可以在模板目录添加一个包含了常用文件头注释和函数结构C程序模板,这样就可以更快地创建一个新C程序文件并进行编写。...`x`:这个字段通常用于存储加密后密码。在这种情况下,密码加密并存储在其他文件,而不是 `/etc/passwd` 文件。 3. `0`:这是用户 ID(UID),表示该用户唯一标识符。...`/bin/bash`:这是用户登录 shell,表示用户登录后默认使用命令行解释器为 Bash(Bourne Again SHell)。...该密码记录密码信息存储在系统密码文件(通常是 `/etc/shadow`),以保护用户安全。...-N:创建同名组 -p:加密后新账户密码 -u:新账户用户ID 例如,要创建一个名为"john"新用户,可以执行以下命令: useradd john 默认情况下,这个新用户不属于任何组

    34410

    Linux 命令行小技巧-持续更新

    执行之前命令 在 Linux 锁定或隐藏文件或目录 在 Linux 检查单词拼写 列出所有 Shell 内置命令 如何在不使用Cron情况调度Linux下任务 如何不使用clear命令清空终端内容...---- 从历史记录删除指定命令 现在假设历史记录已经包含了一些你希望记录命令。这种情况下我们怎么办?很简单。直接动手删除它们。...一旦你找到你想删除命令,执行下面的命令,从历史记录删除那个指定项: history -d [num] ---- 其他 cat | bash #执行这条命令后可以直接在其之后执行其他命令,除了这条命令不会留下其他目录历史...然而,这些文件并没有真正删除,它们仍存储在那里并隐藏在你硬盘,其他用户仍然可以在 Linux 恢复删除文件并查看。...---- 列出所有 Shell 内置命令 shell 内置命令是一个命令或者函数,从内部调用并直接在 shell 里执行,而不是从硬盘加载外部可执行程序来执行。

    89140

    LinuxShell命令history

    其中,FILE 用于指定保存历史命令列表文件,默认是~/.bash_history 文件。若未指定任何选项参数,则默认显示保存所有历史命令列表。...选项 选项参数 说明 NUM 显示最近 NUM 个命令条目 -c 删除所有命令条目,清空历史命令列表 -d offset 从 offset 指定区域删除历史命令记录 offset 取值格式为 N[-...M]:若未指定 -M 选项,则指定删除第 N 条历史记录;若指定 -M 选项,则指定删除区间 [N,M] 内所有历史记录【注】N、M 均可以取负数,表示历史命令文件倒数 N、M -a 将当前 Shell...会话命令内存缓冲区强制追加到历史命令文件 -n 从历史命令文件读取所有未被当前 Shell 会话读取行追加到当前 Shell 会话历史命令内存缓冲区 -r 读取历史命令文件并将所有内容附加到当前...Shell 会话历史命令内存缓冲区 -w 将当前 Shell 会话历史命令内存缓冲区写入到历史命令文件 -p 对每个一个 ARG 参数展开历史并显示结果,但不存储到内存缓冲区 -s 将 ARG

    51220

    bashshell入门

    histfile 当中 [root@study ~]# history -w # 在默认情况下,会将历史纪录写入 ~/.bash_history 当中!...在 CentOS 7.x 默认情况下, 底下这些数据会依序呼叫进来: /etc/profile.d/*.sh 其实这是个目录内众多文件!...shell 时候才会读取配置文件,所以, 果你将自己偏好设定写入上述文件后,通常都是得注销再登入后,该设定才会生效。...~/.bash_history 还记得我们在历史命令提到过这个文件吧?预设情况下, 我们历史命令就记录在这里啊!而 这个文件能够记录几笔数据,则与 HISTFILESIZE 这个变数有关啊。...若启用后,在讯息输出前,会先显示讯息原始内容; -x :预设启用。若启用后,在指令被执行前,会显示指令内容(前面有 ++ 符号) -h :预设启用。与历史命令有关; -H :预设启用。

    94620

    一万两千字长文,六大问题为你解读计算机

    函数名称 -n:删除指定变量。...           读取历史命令文件目录到历史命令缓冲区            将历史命令缓冲区写入命令文件           语法:BASH BUILTIN COMMANDS    ...这些文件通常比较强大,包含程序量也很大,在系统加载时并不随系统一起加载到内存,而是在需要时才将其调用内存。外部命令实体通常并不包含在shell,但是其命令执行过程是由shell程序控制。...Linux系统默认会将存放外部命令、程序目录添加到用户“搜索路径”,当使用位于这些目录外部们能够令时,用户不需要指定具体位置。...,比如cd(更改目录) 2)为了提高效率而存在命令,比如test(检查文件和比较值) 2)Shell函数:功能健全一系列程序代码,由Shell语言写成,它们可以像命令一样引用

    1.1K100

    Linux Shell(二)——Shell环境配置

    :将目前shell命令写入指定文件,若未指定文件则写入~/.bash_history。...由于历史命令在账户注销时才会被写入文件,因此最后一个账号注销时才算当前账户注销;因此,历史文件只会记录最后一个注销账户命令。...5.3 bash环境配置文件 /etc/profile:系统级环境变量(login shell才会读) 该文件存放系统级环境变量,所有的用户都会拥有,一般建议修改这个文件。...~/.bash_profile:用户个人环境变量(login shell才会读) 当/etc/profile环境变量加载完毕后就会加载本文件,本文件定义了当前用户环境变量。...那么软件man文件就无法系统找到,从而无法通过“man+命令”找到这个软件命令帮助文档。

    12.1K50

    何在 Linux 上安装友好交互式 shell:Fish

    Fish 有着很多重要功能,比如自动建议、语法高亮、可搜索历史记录(像在 bash CTRL+r)、智能搜索功能、极好 VGA 颜色支持、基于 web 设置方式、完善手册页和许多开箱即用功能...Fish 有着很多重要功能,比如自动建议、语法高亮、可搜索历史记录(像在 bash )、智能搜索功能、极好 VGA 颜色支持、基于 web 设置方式、完善手册页和许多开箱即用功能。...无需更多其他配置,你也不需要安装任何额外附加组件/插件! 在这篇教程,我们讨论如何在 Linux 安装和使用 fish shell。...在选择你想运行命令后,只需按下右箭头键,然后按下 运行它。 无需 了!正如你已知道,我们通过按 来反向搜索 Bash shell 历史命令。但在 fish shell 是没有必要。...请看下面当我在 Bash shell 和 fish shell 输入相同命令时截图区别。 Bash: Fish: 正如你所看到, 在 fish shell 已经高亮显示。

    1.7K70

    ⒉设置 Bash 选项

    histappend 当shell退出时,历史清单将添加到以HISTFILE变量值命名文件,而不是覆盖文件 histreedit 如果readline正被使用,用户有机会重新编辑一个失败历史替换...默认为打开 huponexit 如果设置,当一个交互式登录shell退出时,bash将发送一个SIGHUP(挂起信号)给所有的作业 interactive_comments 在一个交互式shell,允许以...#开头词以及同一行其他字符忽略。...默认为打开 lithist 如果打开,且cmdhist选项也打开,多行命令将用嵌入换行符保存到历史,而无需在可能地方用分号来分隔 login_shell mailwarn 如果设置,且bash用来检查邮件文件自从上次检查后已经访问...,将显示消息“The mail in mailfile has been read” no_empty_cmd_completion nocaseglob 如果设置,当执行文件名扩展时,bash区分大小写方式下匹配文件名

    82440

    Linux—系统基础一

    zsh ksh tcsh Redhat 和 Centos使用是:bash shell 1.2 命令行界面 命令行是可被用来输入指令到计算机系统基于文本界面。...Bash是在类UNIX系统,是Bourne shell(sh)使用最成功其中一个shell改进版本。 当shell交互使用时,它将显示一个字符串时,它从用户等待一个命令。...Ctrl+k 删除光标至命令行尾内容 Ctrl+l 清屏 Bash常用操作技巧 //命令历史 history //查看命令历史 -c...//清空命令历史 -d OFFSET [n] //删除指定位置命令历史 -w //保存命令历史历史文件~/.bash_history...例如:\rm,这样删除就不会有提示了 -r //递归删除删除目录时必须使用此选项 -f //强制删除询问 cp //复制文件

    65220

    linux怎么查看系统环境变量路径,Linux系统环境变量该如何设置与查看

    HISTFILESIZE存储到文件命令历史记录行数。默认为 ~/.bash_history 文件行数。...当不带参数使用 set 命令时,它将打印出包括环境变量与 Shell 变量在内所有变量以及 Shell 函数列表。 unset — 该命令可以删除 Shell 变量以及环境变量。...我们也可以将环境变量还原为 Shell 变量,或者将其完全删除: MYVAR 变量定义为环境变量,我们可以通过输入以下代码将其还原为 Shell 变量: $ export -n MYVAR 这样,MYVAR...如果要将新环境变量加载到当前 Shell 会话,可以使用source命令: $ source ~/.bashrc 如果你想要设置环境变量,你就可以考虑将其添加到 /etc/profile 、/etc...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

    20.7K20

    linux学习第二十三篇:shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向

    : .bash_history 查看系统设置环境变量,命令最大可以存多少条: echo $HISTSIZE 可以清空内存history命令历史,但不会清空配置文件.bash_history里命令历史...不想别人删除破坏配置文件命令历史,想要永久保存,可以增加隐藏权限a权限(只能追加,不能删除): chattr +a ~/.bash_history 表示执行上一条指令: !!...这里n是数字,表示执行命令历史第n条指令,例如 !100 表示执行命令历史第100个命令: !n 表示执行最后一次执行word命令命令,例如!...txt 列出名称包含0-9任意一个一个字符所有.txt文件: ls [0-9].txt //也可以是字母,ls [0-9a-zA-Z].txt 列出名称包含1或2任意一个一个字符所有...输入输出重定向 把1.txt内容覆盖到2.txt内容,2.txt内容会被删除重写: cat 1.txt >2.txt 把1.txt内容追加到2.txt内容,2.txt原来内容保存,不会被删除重写

    1.1K90
    领券