X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=.bashrc;h=da70b0726f1ae5221626d84a31562693ce9d3f63;hb=a44ee8f739e11ef40402ea7eab92508f70445e68;hp=7db792c3448da92d3e929ea4e04c76c513bd2637;hpb=573c12ec8d999a5db4b03277f6ada7f78a46683f;p=distro-setup diff --git a/.bashrc b/.bashrc index 7db792c..da70b07 100644 --- a/.bashrc +++ b/.bashrc @@ -1,16 +1,6 @@ -# Copyright (C) 2016 Ian Kelling - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +#!/bin/bash +# Copyright (C) 2019 Ian Kelling +# SPDX-License-Identifier: AGPL-3.0-or-later # to debug #set -x @@ -38,21 +28,28 @@ # which we could test for, but I can't think of a way to make that # inherently limited to a single ssh command. I choose to set SendEnv # and AcceptEnv ssh config vars to allow the environment variable -# BASH_LOGIN_SHELL to propagate across ssh. +# BASH_LOGIN_SHELL to propagate across ssh. This also requires that we +# wrap ssh in interactive shells, because, once we export the var, it +# will go into scripts and theres no way to automatically set it. -# assume we want ssh commands to source this file if we are sourcing it, -# and we haven't specified otherwise already -[[ ! $BASH_LOGIN_SHELL ]] && export BASH_LOGIN_SHELL=true -#BASH_LOGIN_SHELL=false # temporary override # first conditions show that we are an ssh command without an interactive shell if [[ $SSH_CONNECTION ]] \ && [[ $- == *c* ]] \ && [[ ! $SSH_TTY ]] \ && [[ $- != *i* ]] \ - && [[ ! $BASH_LOGIN_SHELL == true ]]; then - return + && [[ $BASH_LOGIN_SHELL != true ]]; then + return 0 else - source /etc/profile - source ~/brc + if [[ -r /etc/profile ]]; then + source /etc/profile + fi + _x=$(readlink -f ${BASH_SOURCE[0]}) + _x=${_x%/*}/brc + if [[ -r $_x ]]; then + # shellcheck source=./brc + source $_x + fi fi +# ensure no bad programs appending to this file will have an affect +return 0