技术频道


Linux 执行命令前执行一个脚本或拦截所有命令

在 Linux 中,可以通过别名 - alias 来实现这一功能。 在执行 ls 命令之前先执行自定义脚本。如果脚本执行成功,再执行 ls 命令:

#!/bin/bash

echo "自定义操作"
if [ $? -eq 0 ]; then
    echo "自定义操作成功"
    ls
else
    echo "自定义操作失败"
    exit 1
fi
chmod +x pre_ls.sh

在 Shell 配置文件( 如 ~/.bashrc~/.bash_profile )中添加:

alias ls='bash /path/to/pre_ls.sh'

或者

function ls() {
    bash /path/to/pre_ls.sh
}

后重新配置文件:

source ~/.bashrc

Linux 下拦截所有命令的配置


.bashrc 文件中插入:

PROMPT_COMMAND='your_script;'

其中,your_script 是每次输入命令前执行的脚本。如果该脚本返回成功,命令将会正常执行;如果失败,则可以选择不执行

tcsh 扩展阅读:



发表评论