Теоретически, вы просто делаете, как делали, и он копирует двоичные файлы из области сборки в /usr/local/bin
, а затем делает их принадлежащими группе procmod
и SetGID.
Подумайте о запуске:
sh -x sudo.bash
Это должно показать вам, что он делает, как и он.
Я не совсем согласен с тем, что делает этот скрипт; Я хочу, чтобы отладчики Go были не в /usr/local/bin
, спасибо, но в $ GOROOT, поэтому я не использую официальный sudo.bash
, а вместо этого создал свой собственный sudo.bash.goroot
, который содержит:
#!/usr/bin/env bash
# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
set -e
. ./env.bash
case "`uname`" in
Darwin)
;;
*)
exit 0
esac
for i in prof cov
do
sudo cp "$GOROOT"/src/cmd/$i/6$i $GOROOT/bin/6$i
sudo chgrp procmod $GOROOT/bin/6$i
sudo chmod g+s $GOROOT/bin/6$i
done
Это прекрасно работает для меня.