gpt4 book ai didi

bash - 是否可以避免执行某个命令?

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

我必须避免在 bash 脚本中执行某个命令。
我想使用预执行陷阱来这样做。

假设我想避免仅针对示例使用命令“source”。我所做的基本上是以下内容:

#!/bin/bash

function preexec ()
{
if test $( echo "$BASH_COMMAND" | cut -d " " -f1 ) == "source"
then
echo ">>> do not execute this"
else
echo ">>> execute this"

fi
}
trap 'preexec' DEBUG

echo "start"
source "source.sh"
echo "go on"

exit 0

这个想法工作正常,但在这一点上我不知道如何避免执行所述命令。
知道如何解决这个问题吗?

最佳答案

一种解决方法是为该命令定义一个不执行任何操作的别名,并在脚本完成后取消定义它。别名必须在脚本本身内声明才能工作:

alias source=:
## The actual script source here...
unalias source

关于bash - 是否可以避免执行某个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14648006/

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