shell script到底是什么?怎么使用?


本文摘自PHP中文网,作者零下一度,侵删。

或许?o许多人都已经听过 shell 或 bash 这些名字?o但不知道您是否知道它们究竟是什?N东东呢?t
先回到电脑基础常识上吧?s所有的电脑都是由硬体和软体构成的?o硬体就是大家能摸得著看得见的部份?o例如?s键?P?p荧幕?pCPU?p记忆体?p硬碟?p等等。离开了硬体?o所谓的电脑是不存在的?o因为整个系统的输入和输出以及运算都离不开硬体。请问?s如果没有键?P和荧幕您是怎样使用电脑的?t但是?o您透过键?P进行的输入?o以及从荧幕看到的输出?o真正发挥功能的?o是软体的功劳。而直接负责和这些硬体进行沟通的软体?o就是所谓的核心(kernel)?okernel 必须能够接管键?P的输入?o然後交由 CPU 进行处理?o最後将执行结果输出到荧幕上。当然?o除了键?P和荧幕外?o所有的硬体都必须获得 kernel 的支援才能使用。
那?N?okernel 又如何知道我们键?P输入的东西是什?N呢?t那就是我们这里介绍的 shell 所负责的事情了。因为电脑本身所处理的数据?o都是二进位的机器码?o和我们人类习惯使用的语言很不一样。比方说?o输入 pwd 命令?o我们知道这是 print working directory 的意思(非常简单的人类语音)?o但作为 kernel 来说?o它并不知道 pwd 是什?N?okernel 只会看机器码?o这时候?oshell 就会帮我们将 pwd 翻译为 kernel 能理解的程式码。所以?o我们在使用电脑的时候?o基本上就是和 shell 打交道?o而不是直接和 kernel 沟通?o更不是直接控制硬体。

Windwos下利用批处理程序bat开发的备份网站及数据库的脚本 

1

2

3

4

5

6

@echo off

set date=%date:~0,4%-%date: ~5,2%-%date:~8,2%

mysqldump -uroot -ppassword -A -B > D:\back\"%date%".sql

rar.exe a -k -r -s -ml D:\bak\"%date%".sql.rar D:\bak\"%date%".sql

del D:\bak\*.sql

rar.exe a -k -r -s -ml D:\bak\"%date%"htdocs.rar D:\work\PHPnow\htdocs

清除/var/log/message 系统日志文件命令脚本

1

2

3

4

5

# 使用root身份运行这个脚本

# 清除日志版本,版本:v1

cd /var/log

cat /dev/null > messages

echo "Logs cleaned up."

 问题:

  1. 不是root执行权限执行不了

  2. 没有流程控制判断是否存在文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

LOG_DIR=/var/log

# $UID为0的时候,用户才具有root用户的权限

ROOT_UID=0

 

# 使用root用户来运行

if [ "$UID" -ne "$ROOT_UID" ]

then

  echo "Must be root to run this script."   

  exit 1

fi

cd $LOG_dir || {

  echo "Can't change to necesary directory." >&2

  exit 1

}

cat /dev/null > messages

echo "Logs cleaned up."

exit 0

# 推出之前返回0表示成功,返回1表示失败

以上就是shell script到底是什么?怎么使用?的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

如何在运维过程中对shell内建命令

linux shell中的curl和wget如何使用代理ip的方法教程

linux终端执行shell脚本时提示权限不足

linux中shell脚本怎么运行

如何调试shell脚本?

如何在shell脚本中以隐藏字符的形式输入密码

shell如何实现学生成绩管理系统

linux怎么执行shell脚本

shell编程实战之监控网卡流量

bash shell:测试文件或目录是否存在

更多相关阅读请进入《script》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...