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 脚本攻略>
随机推荐
- backgroundworker的使用问题
这几天做项目懒了就用backgroundworker这个控件,觉得它比多线程方便一些,然后这个线程里面在开线程,然后惨剧就发生了:当我打开一个主窗口后,在打开一个子窗口,子窗口里有个backgroun ...
- UVALive - 6952 Cent Savings dp
题目链接: http://acm.hust.edu.cn/vjudge/problem/116998 Cent Savings Time Limit: 3000MS 问题描述 To host a re ...
- Winform DataGridView扩展
public class ObjectPropertyCompare<T> : IComparer<T> { private readonly PropertyDescript ...
- SQLSERVER中WITH(NOLOCK)详解
在查询语句中使用 NOLOCK 和 READPAST 处理一个数据库死锁的异常时候,其中一个建议就是使用 NOLOCK 或者 READPAST .有关 NOLOCK 和 READPAST的一些技术知识 ...
- c++ 遍历ini
inline void CDLG_SET1::EnumIniFile(LPCTSTR pFilePath, CString strKey) { TCHAR strAppNameTemp[];//所有A ...
- [百度空间] [原] Empty base class optimization
最近遇到了一个诡异的问题, 数组的数据不对, 最后发现是两个类型的大小不一样导致的. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
- vs2010 使用IIS EXPRESS出错.
出现的问题: 解决方法: 左键单击Web项目, 查看属性选项卡, 将 托管管道模式改成Classic就可以了.
- Java多线程程序设计详细解析
一.理解多线程 多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立. 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线 ...
- KMP_Best Reward
大意:把一个字符串分成两串,假如一个字符串是回文串就可以加上它的VALUE,否则它的VALUE为0: KMP的特点是可以求出前缀与后面的字符串是否匹配, 注意回文串的特点,所以当我们把回文串反转的时候 ...
- PHP soap Web Service 使用SoapDiscovery.class.php 生成wsdl文件
PHP soap web service 使用wsdl文件 demo: ============================================================== 服 ...