个人技术栈

shell编程

2017-03-09  本文已影响17人  Chinesszz

1.source命令

source 配置文件    # 立即是配置文件生效
. 配置文件         # ./ 是当前文件夹  .后加空格效果等于source

2.配置文件

/etc/profile       #对每个用户起作用
/etc/profile.d/*.sh
/etc/bashrc
~/bash_profile    #每个用户的配置文件
~/.bashrc     
~/.bash_logout    #退出执行

PS1变量
umash
PATH
umask

![](/Users/mac/Library/Containers/com.tencent.qq/Data/Library/Application Support/QQ/Users/1213327162/QQ/Temp.db/20369CE2-564A-4E06-A944-684EC910E649.png)

3.登录提示信息(issue只对本机,如果issue.net远程登录)

![](/Users/mac/Library/Containers/com.tencent.qq/Data/Library/Application Support/QQ/Users/1213327162/QQ/Temp.db/C9BED461-9647-4109-9A04-0EAACC857562.png)

![](/Users/mac/Library/Containers/com.tencent.qq/Data/Library/Application Support/QQ/Users/1213327162/QQ/Temp.db/7E325742-2430-4127-96A3-0C6B6A035821.png)

4.退出欢迎

/etc/motd   #远程和本地都可以

5.echo命令

 mac@MacBook-Air  ~/Desktop  echo -e "\e[1;31m 我喜欢你兰老师,我要追你 \e[0m"
 我喜欢你兰老师,我要追你
 \n #换行
 \t #table
30m 31m 32m 33m 34m 35m 36m 37m
黑色 红色 绿色 黄色 蓝色 洋红 青色 白色

一、Bash的基础功能

二、Bash变量

![](/Users/mac/Library/Containers/com.tencent.qq/Data/Library/Application Support/QQ/Users/1213327162/QQ/Temp.db/6021D4E2-A302-455B-9162-B78530DCA613.png)

#!bin/bash

for i in "$@"
    do
        echo "$i"
    done
参数 解释
-p 提示信息
-t 秒数
-n 字符限制
-s 隐藏输入
#!/bin/bash
read -p "please input your name:" name
echo "你好,$name 先生"
#!/bin/bash
#时间限制30秒
read -p "please input your name in 30s:" -t 30 name
echo "你好,$name 先生"
#!/bin/bash
#隐藏输入
read -p "please input your password:" -s password
echo "你好,$name 先生"
#!/bin/bash
#只允许接受一个字符,如果不是一个就终止运行
read -p "please input [y|n] end:" -n 1 pw
echo "退出成功"

四、bash运算符

五、逻辑判断语句

![](/Users/mac/Library/Containers/com.tencent.qq/Data/Library/Application Support/QQ/Users/1213327162/QQ/Temp.db/709FED10-B1FA-4C82-BDAB-890B9BFFB681.png)

六、流程控制语句


shell正式开始

第一个脚本

#!/bin/bash
#创建项目
read -p "请输入你的项目名:" projectName
read -p "请输入动物名:" groupId
read -p "请输入服务名:" categoryId
if [-z $projectName]
    then
    read -p "请检查输入的内容是否为空,输入yes退出" -n 1 pw
fi

if [-z $groupId]
    then
    read -p "请检查输入的内容是否为空,输入yes退出" -n 1 pw
fi
    
if [-z categoryId]
    then
    read -p "请检查输入的内容是否为空,输入yes退出" -n 1 pw
fi
pro=$projectName
animal=$groupId
category=$categoryId
mkdir $pro
cd $pro
mkdir src
cd src
mkdir main
mkdir test
cd main
mkdir java
mkdir resources
cd java
mkdir $animal
cd $animal
mkdir $category
mkdir domain
mkdir base
mkdir config
mkdir dao
mkdir manager
mkdir modle
mkdir rest
mkdir service
mkdir util
cd dao
mkdir impl
cd ../modle
mkdir do
mkdir dto
mkdir vo
cd ../service
mkdir impl
cd ../../../resources
mkdir config
touch application.properties
touch application-test.properties
touch application-pro.properties
touch application-stg.properties
cd ../../../
find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
echo -e "\033[41;37m 已经为你创建完成 $pro 项目 \033[0m"
上一篇下一篇

猜你喜欢

热点阅读