shell入门

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell入门相关的知识,希望对你有一定的参考价值。

vi /vim编辑器

命令基础(100多个)

网络服务(基础)nfs、sync、 inotify、 lamp、 sersync、 ssh key批量分发管理




#!/bin/bash

#author by xiaojiang

#print hello world 

echo ‘hello world\!‘


变量 赋值


#!/bin/bash

#define path variables

#AUTH XIAOJAING 2016

A=123

echo "$A"


echo $UID

echo $PWD

echo "?"

echo "#"

echo "*"




#!/bin/bash

#by authors xj 2016

echo -e "\033[32mPlease select Menu follow:\033[1m"

echo "1)安装apache服务器"

echo "2)安装mysql服务器"

echo "3)安装php服务器"

echo "4)配置LAMP服务器"

echo "------------------------"


shell 编程if条件语句  if for while case

if 条件判断语句

if (表达式) #

语句一

else

语句二

fi


eg:

#!/bin/bash

NUM1=100

NUM2=200

if(($Num1>$NUM2)); then

echo "this $NUM1 greater $NUM2 !"

else 

echo "this $NUM1 little $NUM2 !"

fi




逻辑运算符



-f 判断文件是否存在   if [-f filename]

-d 判断目录是否存在   if [-d dir]

-eg 等于 应用于:整型比较

-ne  不等于  应用于:整型比较

-lt 小于  应用于:整型比较

-gt 大于  应用于:整型比较

-le 小于等于  应用于:整型比较

-ge 大于等于  应用于:整型比较

-a 双方都成立 (and)  逻辑表达式 -a 逻辑表达式

-o 单方成立 (or) 逻辑表达式 -o 逻辑表达式

-z 空字符串 


判断目录是否存在

eg1:

#!/bin/bash

#auth if test

#by authors xj 2016

if [ ! -d /tmp/20161210 ];then

mkdir -p /tmp/20161210

echo -4 "\033[032mThis dir is create successful!\033[0m"

else

echo "\033[32mThis dir is exist,please exit.\033[0m"

fi

eg2:

#!/bin/bash

FILES=/tmp/test.txt

if [ ! -f $FILES];then

echo "ok">>$FILES

else

echo -e "033[32m---------------\033[1m"

cat $FILES

fi


多个条件测试判断

eg3:

#!/bin/bash

scores=80

if [[ $scores -gt 85 ]];then

echo "very good!";

elif [[ $scores -gt 75 ]];then

echo "good!";

elif [[ $scores -gt 65 ]];then

echo "pass!";

else 

echo "no pass!"

fi



if条件语句写mysql备份脚本


#!bin/bash

#backup Mysql

#autor xj 20161210


#define Path 定义变量

#必须使用root $UID为系统变量

BAK_DIR=/data/backup/`date +%Y%m%d`

MYSQLDB=discuz

MYSQLUSR=backup

MYSQLPW=123456

MYSQLCMD=/usr/bin/mysqldump

if [$UID -ne 0];then

echo "must to be use root for exec shell"

exit

if [ ! -d $BAK_DIR];then

mkdir -p $BAK_DIR

echo "\033[32mThe $BAK_DIR create successful!\033[0m"

else 

echo "This $BAK_DIR is exists---"

fi

MYSQL backup command

mysqldump -ubackup -p123456 -d discus>$BAK_DIR/$MYSQLDB.sql

if [$? -eq 0 ];then

echo "\033[32mThe Mysql Backup $MYSQLDB SUCCESSFULLY!\033[0m"

else 

echo  "\033[32mThe Mysql Backup $MYSQLDB fAILED,please checked.\033[0m"




if 条件综合shell 实战脚本编写LAMP

//一键源码安装LAMP

1)安装apache服务器

2)安装Mysql服务器

3)安装PHP服务器

4)配置LAMP服务器并启动服务

//

1.apach 安装部署

下载http-2.2.27.tar.gz 下载url 解压 进入安装目录,configure ;make ;make install

2.mysql服务器的安装

下载mysql-5.5.20.tar.gz 下载url 解压 进入安装目录 configure ;make ;make install

3.php服务器的安装

下载php-8.3.8.tar.gz 下载url 解压 进入安装目录 configure ;make ;make install

4.lamp架构的整合和服务启动

/usr/local/apache2/bin/apachectl2 start

vi htdocs/index.php

<?php

phpinfo();

?>


//


#/bin/bash

# auto make install lamp

#by xj

#httpd define path variables

H_FILES=http-2.2.27.tar.bz2

H_FILES_DIR=httpd-2.2.27

H_URL=http://mirros.cnnic.cn/apache/httpd/

H_PREFIX=/usr/local/apache2/


if [ -z "$1" ];then

echo -e "\033[32mPlease select Menu follow:\033[0m"

echo -e "\033[32m1)编译安装apache服务器\033[1m"

echo "2)编译安装Mysql服务器"

echo "3)编译安装PHP服务器"

echo "4)配置LAMP服务器"

echo -e "\033[31musage:{/bin/bash $0 1|2|3|4|help}\033[0m"

exit

fi

if [ "$1" eq "1" ];then

    wget -c $H_URL/H_FILES &&tar -jxvf $H_FILES && cd H_FILES_DIR;./configure --prefix=$H_PREFIX

    if [ $? -eq 0 ];then

    make && make install

    echo -e "\033[32mThe H_FILES_DIR Server Install successful!\033[0m"

    else

    echo -e "\033[32mThe H_FILES_DIR Server Install Failed!,please checked\033[0m"

    exit

    fi

fi












本文出自 “独家视角” 博客,请务必保留此出处http://molujiang.blog.51cto.com/9742572/1881466

以上是关于shell入门的主要内容,如果未能解决你的问题,请参考以下文章

第1期Ubuntu入门篇:18shell脚本入门

linux shell入门

linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]

linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]

linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]

shell编程入门