Shell01

本文介绍了Shell作为操作系统命令解释器的角色,详细讲解了Shell脚本的基础知识,包括脚本的建立、执行方式及规范,并提供了实用的脚本示例,如日志清理等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shell是一个命令解释器,是操作系统的最外层。
把用户的输入解释给操作系统,将操作系统的输入结果返回给用户。
硬件-->kernel-->shell-->外围应用程序

shell脚本:将命令或语句写入文件,进行操作系统管理。

shell脚本中有命令、变量和流程控制语句。



清除日志文件脚本,需root
#!/bin/bash
LOG_DIR=/var/log

ROOT_UID=0

if ["$UID" -ne "$ROOT_UID"]
then
echo "Must be root to run this script."
exit 1
fi
cd $LOG_DIR || {
echo "Cannot change to necessary directory.">&2
exit 1
}
cat /dev/null>messages
echo "Logs cleaned up."
exit 0


A && B //A成功执行B
A || B //A没成功执行B


清空文件的三种方法:

保留文件,清空内容

>filename
echo >filename //多一个空行
cat /dev/null >filename


Linux bash (Bourne Again shell)
echo $SHELL
输出 /bin/bash
grep root /etc/passwd


shell脚本的建立
在vim中编写,包括Linux命令、bash shell命令、程序控制结构、注释。
脚本第一行指定由哪个程序来执行脚本中的内容。
#!/bin/bash 或
#!/bin/sh  #!称为幻数 sh为bash的软链接


对于输入的命令:Ctrl+e 到结尾,Ctrl+u 清除
shell脚本的执行方式
bash script-name  sh script-name //当文件无执行权限或文件未指定解释器时 推荐
path/scritp-name  ./script-name  //必须有执行权限
source script-name . script-name //可以将其中的变量加入到当前shell环境


规范:
1、开头指定脚本解释器;
2、开头加版本和版权信息;
3、不用中文
4、扩展名.sh
5、成对符号一次书写;中括号的两端有空格;流程控制一次书写;代码缩进;


变量
环境变量/全局变量:可在创建它们的shell及其派生出的子shell中使用;
局部变量:只能在shell函数或脚本中使用


环境变量可写在~/bash_profile文件中,或全局配置文件/etc/bashrc/etc/profile文件中,或/etc/profile.d/
大写
export导出
如:
export JAVA_HOME=path
JAVA_HOME=path
export JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin

几个环境变量:
PS1:控制登录用户的显示方式
TMOUT:超时退出
HISTSIZE:历史命令记录条数
HISTFILESIZE:历史文件记录条数
UID
USER
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值