在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脚本的更多相关文章

  1. Linux shell脚本编程(三)

    Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...

  2. Linux shell脚本编程(二)

    Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...

  3. Linux shell脚本编程(一)

    Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...

  4. Linux Shell 脚本入门

    linux shell 脚本格式 #!/bin/sh#..... (注释)命令...命令... 使用vi 创建完成之后需设置权限 chmod +x filename.sh 执行命令: ./filena ...

  5. Linux Shell脚本入门--cut命令

    Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...

  6. Linux Shell脚本攻略 读书笔记

    Linux Shell脚本攻略 读书笔记 这是一本小书,总共253页,但内容却很丰富,书中的示例小巧而实用,对我这样总是在shell门前徘徊的人来说真是如获至宝:最有价值的当属文本处理,对这块我单独整 ...

  7. 阿里Linux Shell脚本面试25个经典问答

    转载: 阿里Linux Shell脚本面试25个经典问答 Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命 ...

  8. Linux Shell脚本教程

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  9. Linux shell 脚本攻略之统计文件的行数、单词数和字符数

    摘自:<Linux shell 脚本攻略>

  10. Linux shell 脚本攻略之创建不可修改文件

    摘自:<Linux shell 脚本攻略>

随机推荐

  1. Leetcode Variant-Plus N

    Given a non-negative number represented as an array of digits, plus N to the number. The digits are ...

  2. Codeforces Round #131 (Div. 2) E. Relay Race dp

    题目链接: http://codeforces.com/problemset/problem/214/E Relay Race time limit per test4 secondsmemory l ...

  3. 【BZOJ】【3207】花神的嘲讽计划 I

    字符串Hash+可持久化线段树 好神奇的转化…… 蒟蒻一开始还去想AC自动机去了……然而由于a[i]的范围是小于等于n,怎么也想不出一个时间复杂度合理的方法 膜拜了题解0.0原来是字符串Hash! 首 ...

  4. maven ArtifactTransferException: Failure to transfer

    我在使用Myeclipse碰见这个错误,我没有用伺服,直接连接到maven中心. ArtifactTransferException: Failure to transfer org.apache.h ...

  5. [bzoj 3687]简单题 bitset的运用

    题意 给定一个正整数集,求所有子集算术和的异或和   题解 每次加入一个元素x,用原集合a xor (a<< x) 然后每一个值统计一下 bitset看起来很优越,是一个能位运算的布尔数组 ...

  6. ios 缓存策略

    NSURLRequestCachePolicy 缓存策略   1> NSURLRequestUseProtocolCachePolicy = 0, 默认的缓存策略, 如果缓存不存在,直接从服务端 ...

  7. angularJs 问题

    1. IE不能渲染指令中的 style="background-color",而chrome和firefox可以 <!DOCTYPE html> <html ng ...

  8. 7 linux服务器程序规范

    1. Linux服务器程序一般以后台进程形式运行.后台进程又称守护进程(daemon),它没有控制终端,因而不会意外接收到用户输入.父进程通常为init(PID为1的进程)2. Linux服务器程序常 ...

  9. 重构:CSS也面向对象

    最初接触到面向对象的CSS还是因为项目中的CSS已经超过八千行,缺乏约束和管理,在近期或者是不远的将来,有迫切的要求需要重构.在前端重构中,我们已经讨论过了JavaScript面向对象的重构,在这个时 ...

  10. O2O模式成功案例分享 汲取精华化为己用

    本文通过分享一些公司的o2o成功案例让您了解什么是O2O,o2o的优势,o2o模式有哪些,未来我们要如何做o2o才更有竞争力,学牛人的o2o创新玩法,摸索适合自己的o2o思路.拥抱o2o - 传统企业 ...