Bahs shell script

栏目: Java · 发布时间: 6年前

内容简介:当执行shell命令的时候,会调用该软件,调用预先预留好的接口,执行相关操作。一般使用的是bin/bash环境变量的取用,使用echo命令,达到变量的取用目的

什么是shell

当执行 shell 命令的时候,会调用该软件,调用预先预留好的接口,执行相关操作。

关于shell

一般使用的是bin/bash

shell 变量

环境变量

环境变量的取用,使用echo命令,达到变量的取用目的

例如

ming@ming-pc-xiao:/var/lib/dpkg$ echo ${PATH}
/home/ming/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin

设置变量

设置单一变量其名字为ming

ming@ming-pc-xiao:/var/lib/dpkg$ name=ming
ming@ming-pc-xiao:/var/lib/dpkg$

修改变量

ming@ming-pc-xiao:/var/lib/dpkg$ echo $PATH
/home/ming/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/home/dmtsai/bin:/home/dmtsai/bin
ming@ming-pc-xiao:/var/lib/dpkg$
ming@ming-pc-xiao:/var/lib/dpkg$ name=$name
ming@ming-pc-xiao:/var/lib/dpkg$ name=$name:minh
ming@ming-pc-xiao:/var/lib/dpkg$ echo $name
ming:minh
ming@ming-pc-xiao:/var/lib/dpkg$ name={$name}ming
ming@ming-pc-xiao:/var/lib/dpkg$ echo $name
{ming:minh}ming
ming@ming-pc-xiao:/var/lib/dpkg$

env

使用env命令可以列出所有的环境变量

ming@ming-pc-xiao:/var/lib/dpkg$ env | grep home
ZEITGEIST_DATA_PATH=/home/ming/.local/share/zeitgeist
HOME=/home/ming
PATH=/home/ming/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/home/dmtsai/bin:/home/dmtsai/bin
ming@ming-pc-xiao:/var/lib/dpkg$

其中输出的为使用的主目录

$本身也是一个变量

关于bash本身

登录 linux 以后,取得一个bash,其bash为一个独立的应用程序。

这个程序为一个程序识别码,为PID,当子进程执行的时候,父进程处于sleep状态。

所有的程序都是由父进程衍生来的。

即,子程序会继承父程序的环境变量。

变量赋值

让使用者输入变量,进行赋值

ming@ming-pc-xiao:~$ read atest
ming
ming@ming-pc-xiao:~$ echo $atest
ming
ming@ming-pc-xiao:~$

在30秒内输入,然后其变量进行赋值

ming@ming-pc-xiao:~$ read -p "Please keyin your name: " -t 30 named
Please keyin your name:

环境配置文件

/etc/profile

当登录shell的时候,会读取该文件

/etc/profile

该文件将会设置目录

在读取完成以后,将会调用~/.profile,

管道命令

数据流。既传送给目录,右传送给设备

ming@ming-pc-xiao:~$ ls -l /home |  tee ~/homefile |  more
总用量 4
drwxrwxrwx 57 ming ming 4096 2月  19 05:02 ming
ming@ming-pc-xiao:~$ cat ./homefile 
总用量 4
drwxrwxrwx 57 ming ming 4096 2月  19 05:02 ming
ming@ming-pc-xiao:~$

shell script

hello world

全部如下

#! /bin/bash
# Program:
#    这是shell命令的hello world
# 时间  2018年02月19日
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
# 设置环境变量
export PATH
# 输出 其中e为转义字符
echo -e  "hello world" \a \n
# 退出脚本
exit 0
~                                                                               
~

执行效果如下

ming@ming-pc-xiao:~$ sh ./hello.sh 
-e hello world a n
ming@ming-pc-xiao:~$

一些栗子

根据输入者输入的内容,保存相关内容

ming@ming-pc-xiao:~$ sh ./showname.sh   rr  ee
请输入您的姓名rer
请输入第二个名字trtg

rer trtg

ming@ming-pc-xiao:~$
#! /bin/bash
# Program:
# 输入使用者的姓名
# History:
# 2018/02/19
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

read -p "请输入您的姓名" firstname  # 提示输入
read -p "请输入第二个名字" lastname
# 输出结果
echo  "\n${firstname} ${lastname}\n" 
~

执行方式的差别

直接执行

ming@ming-pc-xiao:~$ sh ./showname.sh   rr  ee
请输入您的姓名rer
请输入第二个名字trtg

rer trtg

这样可以进行直接执行

test指令测试

ming@ming-pc-xiao:~$ test -e /dmtsai && echo "exist" || echo "Not exist"
Not exist
ming@ming-pc-xiao:~$

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Build Your Own Web Site the Right Way Using HTML & CSS

Build Your Own Web Site the Right Way Using HTML & CSS

Ian Lloyd / SitePoint / 2006-05-02 / USD 29.95

Build Your Own Website The Right Way Using HTML & CSS teaches web development from scratch, without assuming any previous knowledge of HTML, CSS or web development techniques. This book introduces you......一起来看看 《Build Your Own Web Site the Right Way Using HTML & CSS》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具