-
-
Save osnysantos/cd642302bbbe20a29fd40f2cd2cb77a9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Check for interactive bash and that we haven't already been sourced. | |
if [ -n "$BASH_VERSION" -a -n "$PS1" -a -z "$BASH_COMPLETION_COMPAT_DIR" ]; then | |
# Check for recent enough version of bash. | |
bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.} | |
if [ $bmajor -gt 4 ] || [ $bmajor -eq 4 -a $bminor -ge 1 ]; then | |
[ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && \ | |
. "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" | |
if shopt -q progcomp && [ -r /usr/share/bash-completion/bash_completion ]; then | |
# Source completion code. | |
. /usr/share/bash-completion/bash_completion | |
fi | |
fi | |
unset bash bmajor bminor | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:~$ vim /etc/profile.d/ | |
bash_completion.sh Z97-byobu.sh Z99-cloud-locale-test.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if [ "$PS1" ]; then | |
if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then | |
# The file bash.bashrc already sets the default PS1. | |
# PS1='\h:\w\$ ' | |
if [ -f /etc/bash.bashrc ]; then | |
. /etc/bash.bashrc | |
fi | |
else | |
if [ "`id -u`" -eq 0 ]; then | |
PS1='# ' | |
else | |
PS1='$ ' | |
fi | |
fi | |
fi | |
# The default umask is now handled by pam_umask. | |
# See pam_umask(8) and /etc/login.defs. | |
if [ -d /etc/profile.d ]; then | |
for i in /etc/profile.d/*.sh; do | |
if [ -r $i ]; then | |
. $i | |
fi | |
done | |
unset i | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Z97-byobu.sh - allow any user to opt into auto-launching byobu | |
# Copyright (C) 2011 Canonical Ltd. | |
# | |
# Authors: Dustin Kirkland <kirkland@byobu.co> | |
# | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU General Public License as published by | |
# the Free Software Foundation, version 3 of the License. | |
# | |
# This program is distributed in the hope that it will be useful, | |
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
# GNU General Public License for more details. | |
# | |
# You should have received a copy of the GNU General Public License | |
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |
# Allow any user to opt into auto-launching byobu by setting LC_BYOBU=1 | |
# Apologies for borrowing the LC_BYOBU namespace, but: | |
# a) it's reasonable to assume that no one else is using LC_BYOBU | |
# b) LC_* is sent and receieved by most /etc/ssh/ssh*_config | |
if [ -n "$LC_BYOBU" ] && [ "$LC_BYOBU" -gt 0 ] && [ -r "/usr/bin/byobu-launch" ]; then | |
. /usr/bin/byobu-launch | |
elif [ "$LC_TERMTYPE" = "byobu" ] && [ -r "/usr/bin/byobu-launch" ]; then | |
. /usr/bin/byobu-launch | |
elif [ "$LC_TERMTYPE" = "byobu-screen" ] && [ -r "/usr/bin/byobu-launch" ]; then | |
export BYOBU_BACKEND="screen" | |
. /usr/bin/byobu-launch | |
elif [ "$LC_TERMTYPE" = "byobu-tmux" ] && [ -r "/usr/bin/byobu-launch" ]; then | |
export BYOBU_BACKEND="tmux" | |
. /usr/bin/byobu-launch | |
fi | |
# vi: syntax=sh ts=4 noexpandtab |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# vi: ts=4 noexpandtab | |
# | |
# Author: Ben Howard <ben.howard@canonical.com> | |
# Author: Scott Moser <scott.moser@ubuntu.com> | |
# (c) 2012, Canonical Group, Ltd. | |
# | |
# Purpose: Detect invalid locale settings and inform the user | |
# of how to fix them. | |
# | |
locale_warn() { | |
local bad_names="" bad_lcs="" key="" val="" var="" vars="" | |
local w1 w2 w3 w4 remain | |
# if shell is zsh, act like sh only for this function (-L). | |
# The behavior change will not permenently affect user's shell. | |
[ "${ZSH_NAME+zsh}" = "zsh" ] && emulate -L sh | |
# locale is expected to output either: | |
# VARIABLE= | |
# VARIABLE="value" | |
# locale: Cannot set LC_SOMETHING to default locale | |
while read -r w1 w2 w3 w4 remain; do | |
case "$w1" in | |
locale:) bad_names="${bad_names} ${w4}";; | |
*) | |
key=${w1%%=*} | |
val=${w1#*=} | |
val=${val#\"} | |
val=${val%\"} | |
vars="${vars} $key=$val";; | |
esac | |
done | |
for bad in $bad_names; do | |
for var in ${vars}; do | |
[ "${bad}" = "${var%=*}" ] || continue | |
val=${var#*=} | |
[ "${bad_lcs#* ${val}}" = "${bad_lcs}" ] && | |
bad_lcs="${bad_lcs} ${val}" | |
break | |
done | |
done | |
bad_lcs=${bad_lcs# } | |
[ -n "$bad_lcs" ] || return 0 | |
printf "_____________________________________________________________________\n" | |
printf "WARNING! Your environment specifies an invalid locale.\n" | |
printf " This can affect your user experience significantly, including the\n" | |
printf " ability to manage packages. You may install the locales by running:\n\n" | |
local bad invalid="" to_gen="" sfile="/usr/share/i18n/SUPPORTED" | |
local pkgs="" | |
if [ -e "$sfile" ]; then | |
for bad in ${bad_lcs}; do | |
grep -q -i "${bad}" "$sfile" && | |
to_gen="${to_gen} ${bad}" || | |
invalid="${invalid} ${bad}" | |
done | |
else | |
printf " sudo apt-get install locales\n" | |
to_gen=$bad_lcs | |
fi | |
to_gen=${to_gen# } | |
local pkgs="" | |
for bad in ${to_gen}; do | |
pkgs="${pkgs} language-pack-${bad%%_*}" | |
done | |
pkgs=${pkgs# } | |
if [ -n "${pkgs}" ]; then | |
printf " sudo apt-get install ${pkgs# }\n" | |
printf " or\n" | |
printf " sudo locale-gen ${to_gen# }\n" | |
printf "\n" | |
fi | |
for bad in ${invalid}; do | |
printf "WARNING: '${bad}' is an invalid locale\n" | |
done | |
printf "To see all available language packs, run:\n" | |
printf " apt-cache search \"^language-pack-[a-z][a-z]$\"\n" | |
printf "To disable this message for all users, run:\n" | |
printf " sudo touch /var/lib/cloud/instance/locale-check.skip\n" | |
printf "_____________________________________________________________________\n\n" | |
# only show the message once | |
: > ~/.cloud-locale-test.skip 2>/dev/null || : | |
} | |
[ -f ~/.cloud-locale-test.skip -o -f /var/lib/cloud/instance/locale-check.skip ] || | |
locale 2>&1 | locale_warn | |
unset locale_warn |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment