我如何更改“uname -m”的输出

Bad*_*ngh 2 bash ubuntu shell-script architecture

我正在尝试执行这个 shell 脚本 - https://raw.githubusercontent.com/oneindex/script/master/gclone.sh

这个 shell 脚本检查uname -m输出并且不喜欢它(即 aarch64 )。

xd003@localhost:~$ uname -m
aarch64
xd003@localhost:~$
Run Code Online (Sandbox Code Playgroud)

我想将uname -m输出更改为aarch64arm64以便它绕过 shell 脚本中的此检查并正确执行。

Sté*_*las 6

由于它恰好是一个bash脚本(尽管有.sh扩展名),因此您始终可以(在 内bash):

uname()
  if [ "$#" -eq 1 ] && [ "$1" = -m ]; then
    echo arm64
  else
    command uname "$@"
  fi

export -f uname

gclone.sh
Run Code Online (Sandbox Code Playgroud)

也就是说,替换uname为在传递-m参数时输出所需内容的导出函数。