【转】lnmp_auto:自动化安装lnmp环境脚本

【转】lnmp_auto:自动化安装lnmp环境脚本

原文链接:

lnmp_auto:自动化安装lnmp环境脚本  这哥们整理的这篇博文很好  转载分享

 

 博文转载如下:

源代码在github上:https://github.com/jianfengye/lnmp_auto

本文记录下写的过程中遇到的几个shell问题:

如何判断当前用户是否是root用户

1

2

3

4

5

if [ $UID -ne 0 ]

then

     echo "Error: You must be root to run the script!"

     exit 1

fi

如何判断机器是64位还是32位

有很多种方法,但是如果要输出最简单明了的估计是这种方法了:

1

MACHINE_LONG_BIT=$(getconf LONG_BIT)

如何判断一个组存在,并且这个组内有某个用户

1

2

3

4

5

6

7

8

9

10

11

12

13

if grep -q mysql /etc/group

then

     echo "mysql group exists"

else

     groupadd mysql

fi

 

if groups mysql | grep -q -E ' mysql(\s|$)'

then

     echo "mysql user exists"

else

    useradd -r -g mysql mysql

fi

如何将一个目录内的所有文件批量软连接到另外一个目录内

1

2

3

4

5

FILELIST=`ls $BINARY_MYSQL_PATH/bin`

for FILENAME in $FILELIST

do

     ln -sn --force $BINARY_MYSQL_PATH/bin/$FILENAME /bin/$FILENAME

done

在sed中要替换的正则包含/符号和变量$XXX怎么办

我们一般使用sed "s/XXXX/OOOO/" file来做替换

但是如果XXXX中包含/并且还有可能包含变量的话,就需要将/符号替换成:了

1

sed -i "s:/usr/local/mysql/data:${BINARY_MYSQL_PATH}/data:" mysql.server.init

如何注释一段代码

在shell中注释一行代码是#,那么注释一段代码就需要使用:<<BLOCK

1

2

3

4

5

6

7

:<<BLOCK

BINARY_MYSQL_PATH="$ROOT_PATH"/binary/mysql

if [ ! -d "$BINARY_MYSQL_PATH" ]

then

     mkdir -p $BINARY_MYSQL_PATH

fi

BLOCK

shell如何进行交互

使用read命令将输出记录到一个变量中

1

2

3

4

5

6

checkinstall="n"

read -p "Are you sure want to install php into service?(y/n):" checkinstall

if [ $checkinstall="y" ]

then

fi

如何关闭selinux

1

sed -i "s/enforcing/disabled/" /etc/selinux/config

这里的i参数就是在当前文件直接做替换,如果觉得不保险可以先做备份

如何获取运行shell的shell文件夹路径

这里不是获取当前的路径(当前路径直接使用pwd就可以获取),比如我在/home/yejianfeng,运行sh lnmp_auto/lnmp_auto.sh,如何获取到lnmp_auto.sh的文件夹路径/home/yejianfeng/lnmp_auto/

1

$(cd "$(dirname "$0")"; pwd)

 

posted @ 2015-11-04 14:39 wuling129 阅读(...) 评论(...) 编辑 收藏

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值