linux脚本添加source,解决在脚本中source 或者 . 不生效的问题

简单的脚本初始化一个新机器

解决在脚本中source 或者 . 不生效的问题

#!/bin/bash

使用www普通用户发布,及免密

Usage : source ./useradd-trust-init-v2.sh or . ./useradd-trust-init-v2.sh

read -p " 输入需要创建的用户名 : " User

www=grep -w "$User" /etc/passwd|awk -F':' '{print $1}'

Pass=2fZotoQdt0k8nWWs1T8scUbm07dVWSKvZmB672XkG

判断是否为空

if [ -z $www ]

then

useradd "$User"

echo "$Pass" | passwd --stdin $User 1> /dev/null

fi

Home=grep -w "$User" /etc/passwd |awk -F'/' '{print $2}'

Bash=grep -w "$User" /etc/passwd |awk -F'/' '{print $NF}'

if [ $Home == home ] && [ $Bash == bash ]

then

echo -e "\n\033[34m sshpass -p '$Pass' ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no $User@hostname -I\033[0m\n"

echo -e "\033[34m sshpass -p '$Pass' ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no $User@curl -m 10 -s ip.cip.cc\033[0m\n"

else

usermod -d /home/$User -m $User -s /bin/bash

echo -e "\033[31m usermod To change the\033[0m"

echo -e "\n\033[34m sshpass -p '$Pass' ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no $User@hostname -I\033[0m\n"

echo -e "\033[34m sshpass -p '$Pass' ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no $User@curl -m 10 -s ip.cip.cc\033[0m\n"

fi

systemctl stop firewalld.service

systemctl disable firewalld.service

setenforce 0

sed -i "s/grep -vE '^$|^#|SELINUXTYPE' /etc/selinux/config/SELINUX=disabled/" /etc/selinux/config

yum -y install \

gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel \

libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel \

libmhash-devel ncurses-devel sudo bzip2 mlocate flex lrzsz sysstat lsof setuptool ntp \

libaio-devel wget nmap finger elinks net-tools telnet curlftpfs bind-utils cmake ncurses \

ncurses-devel zlib zlib-devel bison bison-devel perl perl-devel autoconf automake xz >/dev/null 2>&1

read -p " 需要新的显性主机名么? [Y/y/N/n]: " NAME

case $NAME in

[yY][eE][sS]|[yY])

NAME="yes"

read -p " (输入服务器主机名or角色): " HostName

cat > /etc/motd << EOF

$HostName

如需(启动或重启)服务,请以程序对应普通用户启动

PHP 使用 www 用户

定时任务使用root账户添加到/var/spool/cron/www

EOF

cat >> /etc/bashrc << EOF

PS1="[\${debian_chroot:+(\$debian_chroot)}\u@$HostName - `hostname -I|awk -F" " '{print \$1}'` \w]\\$ "

export USER_IP=`who -u am i 2>/dev/null| awk '{print \$NF}'|sed -e 's/[()]//g'`

export HISTTIMEFORMAT="[%F %T][`whoami`][\${USER_IP}] "

export PROMPT_COMMAND='{ msg=\$(history 1 | { read x y; echo \$y; });user=\$(whoami); echo \$(date "+%Y-%m-%d %H:%M:%S"):\$user:`pwd`/:\$msg ---- \$(who am i); } >> /tmp/`date +%F`-`hostname`-`whoami`-history.log'

alias cd='cdp(){ cd \$1;pwd;};cdp'

EOF

. /etc/bashrc

;;

[nN][oO]|[nN])

NAME="no"

echo "Don't need Exit"

;;

*)

echo " Input error, should be [Y/n]."

exit 20

esac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值