shell - 别名 "rm -rf/"="echo ' 白痴'"为什么不工作?

标签 shell alias

我想知道如果“别名”的名称包含带参数的命令会怎样?我试过:
alias "rm -rf /"="echo 'idiot'"
但它不起作用;什么是正确的方法?

最佳答案

你可以这样做:

rm() {
  if [ "$1" = "-rf" ] && [ "$2" = "/" ]; then
    echo 'idiot'
  else
    command rm "$@"
  fi
}

当然它并不匹配所有情况,但您可以根据需要修改此脚本。

关于shell - 别名 "rm -rf/"="echo ' 白痴'"为什么不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20722091/

相关文章:

bash - 别名在 Bash 脚本中不起作用

MySQL IFNULL、Alias 和 LEFT JOIN 导致未知列错误

linux - eval 和 export 从字符串中删除双引号 (")

linux - 什么是交互式 unix shell

c# - 为什么在c#.NET中 "Enum"编译成功, "enum"编译失败?

function - 如何在Powershell脚本中将参数化函数作为标志的别名?

java - 通过 Java 中的多个条目在 keystore 中通过别名获取证书

shell - 跨平台 (Linux/OS X) 文件系统观察程序(文件更改时运行命令)

python - Python IDLE 在 Windows 上使用什么终端

shell - Jenkins 作业在运行远程脚本后没有停止