Linux SHELL脚本
在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。
以下为部分简单的shell脚本示例
--------------script----------------
#!/bin/bash
echo "hello world"
echo "the time is : $(date)"
echo "Let's see who's logging into the system:"
who
echo 'The price is $100' --------------script----------------
#! /bin/bash days=
guest="kaite"
echo "$guest checked in $days ago"
days=
guest="jessica"
echo "$guest checked in $days ago" --------------script----------------
#! /bin/bash value1=
value2=$value1 echo The resulting value is $value2 --------------script----------------
#! /bin/bash
var1=
var2=
var3= echo "VAR1=$var1"
echo "VAR2=$var2"
echo "VAR3=$var3"
echo "VAR1+VAR2=$[$var1 + $var2]"
echo "VAR2-VAR3=$[$var2 - $var3]"
echo "VAR1-VAR3*2=$[$var1 - $var3*2]" --------------script----------------
#! /bin/bash for stop in 'ShangHai Hongqiao' Nanjing Xuzhou
do
echo Next stop is $stop
done --------------script----------------
#! /bin/bash for NAME in 'jarry' 'harry' 'natasha'
do
useradd $NAME &>/dev/null
echo 'redhat' | passwd --stdin $NAME &> /dev/null
done --------------script----------------
#! /bin/bash
# 编辑以下脚本,分析会输出什么结果以及这个脚本如何使用,并验证(这个脚本中用到了特殊变量--位置参数) echo the first number is $
echo the second number is $
echo the sum is $[$+$] --------------script----------------
#! /bin/bash for Input in "$@"
do
echo $Input
done --------------script----------------
#! /bin/bash FIRST=$
SECOND=$ if [ $FIRST -gt $SECOND ]
then
echo "First > Second"
fi if [ $FIRST -lt $SECOND ]
then
echo "First < Second"
fi if [ $FIRST -eq $SECOND ]
then
echo "First = Second"
fi --------------script----------------
#! /bin/bash FIRST=$
SECOND=$ if [ -z $FIRST ] || [ -z $SECOND ]
then
echo "Your Input is not complete" elif [ $FIRST -gt $SECOND ]
then
echo "First > Second"
elif [ $FIRST -lt $SECOND ]
then
echo "First < Second"
else
echo "First = Second"
fi --------------script----------------
#! /bin/bash
#编辑一个脚本,实现如果用户输入参数 foo,则显示 bar,输入参数 bar,则显示 foo, 如果输入其他参数,则显示 error case $ in
"foo")
echo "bar";;
"bar")
echo 'foo'
echo 'foo1'
echo 'foo2' ;;
*) echo 'error';;
esac --------------script----------------
#! /bin/bash
#创建 file 文件中所列出的用户,并且所有用户的密码都是 redhat,这个脚本不检查参数的完整性 for NAME in $(cat $)
do
useradd $NAME &> /dev/null
echo 'redhat' | passwd --stdin $NAME &> /dev/null
done --------------script----------------
#! /bin/bash
# 创建一个脚本,实现与test13脚本的同样功能,但如果没有参数(只有脚本命令没有文件名), 则显示“Parameter error”,如果文件多于一个,则显示 parameters too long...,只有这个脚本后的文件名有且只有一个时脚本才本正确执行
if [ "$#" -gt ]
then
echo 'parameters too long...'
exit
fi if [ ! -f "$1" ] ; then
echo 'file do not exist'
exit
fi for NAME in $(cat $)
do
useradd $NAME &> /dev/null
echo 'redhat' | passwd --stdin $NAME &> /dev/null
done
Linux SHELL脚本的更多相关文章
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
- Linux shell脚本编程(二)
Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...
- Linux shell脚本编程(一)
Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...
- Linux Shell 脚本入门
linux shell 脚本格式 #!/bin/sh#..... (注释)命令...命令... 使用vi 创建完成之后需设置权限 chmod +x filename.sh 执行命令: ./filena ...
- Linux Shell脚本入门--cut命令
Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...
- Linux Shell脚本攻略 读书笔记
Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整 ...
- 阿里Linux Shell脚本面试25个经典问答
转载: 阿里Linux Shell脚本面试25个经典问答 Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命 ...
- Linux Shell脚本教程
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- Linux shell 脚本攻略之统计文件的行数、单词数和字符数
摘自:<Linux shell 脚本攻略>
- Linux shell 脚本攻略之创建不可修改文件
摘自:<Linux shell 脚本攻略>
随机推荐
- 使用Log4j进行日志操作
使用Log4j进行日志操作 一.Log4j简介 (1)概述 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接字服 ...
- Eclipse的python插件安装
网上找了一些资料都没有成功~~然后自己装的过程中编辑记录了一些 当然博客园里也有人用这一种方法也可以参考IBM中的 http://www.cnblogs.com/visec479/p/4139882. ...
- 22、DDMS(转载)
本文是转载,出处为http://www.xuebuyuan.com/1291595.html 如需删除本文,请私信我,谢谢 DDMS DDMS是一款Google* 提供的应用,可作为独立的工具运行,也 ...
- O(V*n)的多重背包问题
多重背包问题: 有n件物品,第i件价值为wi,质量为vi,有c1件,问,给定容量V,求获得的最大价值. 朴素做法: 视为0,1,2,...,k种物品的分组背包 [每组只能选一个] f[i][j]=Ma ...
- Swift-4-数组和字典
// Playground - noun: a place where people can play import UIKit // 数组 字典 // 集合的可变性 赋值给var的集合是可变的mut ...
- C语言中inline的用法
C语言里面的内联函数(inline)与宏定义(#define)探讨 先简明扼要,说下关键: 1.内联函数在可读性方面与函数是相同的,而在编译时是将函数直接嵌入调用程序的主体,省去了调用/返回指令,这样 ...
- Git常用命令大全
查看.添加.提交.删除.找回,重置修改文件 git help <command> # 显示command的help git show # 显示某次提交的内容 git show $id gi ...
- static_cast和reinterpret_cast
static_cast和reinterpret_cast 相同点:都是暴力转换,从一个类型转换为另一个类型,对于类指针不会保证安全性 static_cast和reinterpret_cast的区别 ...
- mysql 事务提交过程
打开binlog选项后,执行事务提交命令时,就会进入两阶段提交模式.两阶段提交分为prepare阶段和commit两个阶段.流程如下 :这里面涉及到两个重要的参数:innodb_flush_log_ ...
- ios下最简单的正则,RegexKitLite
ios下最简单的正则,RegexKitLite 1.去RegexKitLite下载类库,解压出来会有一个例子包及2个文件,其实用到的就这2个文件,添加到工程中.备用地址:http://www.coco ...