github.com/GoogleCloudPlatform/testgrid@v0.0.174/hack/verify-file-perms.sh (about) 1 #!/usr/bin/env bash 2 # Copyright 2019 The Kubernetes Authors. 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 16 set -o errexit 17 set -o nounset 18 set -o pipefail 19 20 # BSD sed doesn't have --version, and needs + instead of / 21 # GNU sed deprecated and removed + 22 desired_perm="/111" 23 # we're not actually running a search so SC2185 doesn't apply 24 # shellcheck disable=SC2185 25 if ! find --version >/dev/null 2>&1; then 26 desired_perm="+111" 27 fi 28 29 # find all files named *.sh (approximate shell script detection ...) 30 # - ignoring .git 31 # - that are not executable by all 32 files=$(find . -type f -name '*.sh' -not -perm "${desired_perm}" -not -path './.git/*') 33 if [[ -n "${files}" ]]; then 34 echo "${files}" 35 echo 36 echo "Please run hack/update-file-perms.sh" 37 exit 1 38 fi