首页 运维 linux运维 shell script到底是什么?怎么使用?

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

Jul 18, 2017 pm 06:07 PM
script shell 什么

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

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

@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 系统日志文件命令脚本

# 使用root身份运行这个脚本
# 清除日志版本,版本:v1
cd /var/log
cat /dev/null > messages
echo "Logs cleaned up."
登录后复制

 问题:

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

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

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到底是什么?怎么使用?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在 Windows 11 上安装经典 Shell? 如何在 Windows 11 上安装经典 Shell? Apr 21, 2023 pm 09:13 PM

定制您的操作系统是让您的日常生活更加愉快的绝佳方式。您可以更改用户界面、应用自定义主题、添加小部件等等。因此,我们今天将向您展示如何在Windows11上安装ClassicShell。该程序已经存在了很长时间,并允许您修改操作系统。志愿者现在已经开始运营该组织,该组织于2017年解散。新项目名为OpenShell,目前在Github上可供感兴趣的人使用。&a

如何在技嘉主板上设置键盘启动功能 (技嘉主板启用键盘开机方式) 如何在技嘉主板上设置键盘启动功能 (技嘉主板启用键盘开机方式) Dec 31, 2023 pm 05:15 PM

技嘉的主板怎么设置键盘开机首先,要支持键盘开机,一定是PS2键盘!!设置步骤如下:第一步:开机按Del或者F2进入bios,到bios的Advanced(高级)模式普通主板默认进入主板的EZ(简易)模式,需要按F7切换到高级模式,ROG系列主板默认进入bios的高级模式(我们用简体中文来示范)第二步:选择到——【高级】——【高级电源管理(APM)】第三步:找到选项【由PS2键盘唤醒】第四步:这个选项默认是Disabled(关闭)的,下拉之后可以看到三种不同的设置选择,分别是按【空格键】开机、按组

i7 3770的最佳搭配显卡是什么? i7 3770的最佳搭配显卡是什么? Dec 29, 2023 am 09:12 AM

酷睿i73770配什么显卡好啊RTX3070是一款非常强大的显卡,它具有出色的性能和先进的技术。无论是玩游戏、渲染图形还是进行机器学习,RTX3070都能轻松应对。它采用了NVIDIA的Ampere架构,拥有5888个CUDA核心和8GB的GDDR6内存,能够提供流畅的游戏体验和高品质的图形效果。RTX3070还支持光线追踪技术,能够呈现逼真的光影效果。总之,RTX3070是一款强大而先进的显卡,适合那些追求高性能和高品质的用户使用。RTX3070是一款NVIDIA系列的显卡。采用第2代NVID

Explorer.exe 在系统启动时不启动 [修复] Explorer.exe 在系统启动时不启动 [修复] Jun 03, 2023 am 08:31 AM

如今,许多Windows用户开始遇到严重的Windows系统问题。问题是系统加载后Explorer.exe无法启动,用户无法打开文件或文件夹。虽然,Windows用户在某些情况下可以使用命令提示符手动打开Windows资源管理器,并且每次系统重新启动或系统启动后都必须这样做。这可能是有问题的,并且是由于下面提到的以下因素造成的。损坏的系统文件。启用快速启动设置。过时或有问题的显示驱动程序。对系统中的某些服务进行了更改。修改后的注册表文件。请记住以上所有因素,我们提出了一些肯定会对用户有所帮助

PowerShell 部署失败并出现 HRESULT 0x80073D02 问题修复 PowerShell 部署失败并出现 HRESULT 0x80073D02 问题修复 May 10, 2023 am 11:02 AM

您在运行脚本时是否看到此错误消息“Add-AppxPackage:部署失败,HRESULT:0x80073D02,无法安装该包,因为它修改的资源当前正在使用中。PowerShell中出现错误0x80073D02…”?如错误消息所述,当用户在前一个进程运行时尝试重新注册一个或所有WindowsShellExperienceHost应用程序时,确实会发生这种情况。我们已经获得了一些简单的解决方案来快速解决这个问题。修复1–终止体验主机进程您必须在执行powershell命令之前结束

Linux快速删除文件末尾行的操作步骤 Linux快速删除文件末尾行的操作步骤 Mar 01, 2024 pm 09:36 PM

Linux系统下在处理文件时,有时候需要删除文件末尾的行。这种操作在实际应用中很常见,可以通过一些简单的命令来实现。本文将介绍在Linux系统中快速删除文件末尾行的操作步骤,同时提供具体的代码示例。步骤一:查看文件末尾行在进行删除操作之前,首先需要确认文件的末尾行是哪一行。可以使用tail命令来查看文件的末尾行,具体命令如下:tail-n1filena

以下是 Open Shell Windows 11 无法正常工作问题的修复 以下是 Open Shell Windows 11 无法正常工作问题的修复 Apr 14, 2023 pm 02:07 PM

无法在Windows 11上运行的 Open shell 并不是一个新问题,并且自从这个新操作系统问世以来一直困扰着用户。Open-Shell Windows 11 不工作问题的原因并不具体。它可能是由程序中的意外错误、病毒或恶意软件的存在或损坏的系统文件引起的。对于那些不知道的人,Open-Shell 是 2017 年停产的 Classic Shell 的替代品。您可以查看我们的教程,了解如何在 Windows 11 上安装 Classic Shell。如何替换 Windows 11 的开始菜

在 Windows 上运行 shell 脚本文件的不同方法 在 Windows 上运行 shell 脚本文件的不同方法 Apr 13, 2023 am 11:58 AM

适用于 Linux 的 Windows 子系统第一种选择是使用适用于 Linux 或 WSL 的 Windows 子系统,这是一个兼容层,用于在 Windows 系统上本地运行 Linux 二进制可执行文件。它适用于大多数场景,允许您在 Windows 11/10 中运行 shell 脚本。WSL 不会自动可用,因此您必须通过 Windows 设备的开发人员设置启用它。您可以通过转到设置 > 更新和安全 > 对于开发人员来完成。切换到开发人员模式并通过选择是确认提示。接下来,查找 W

See all articles