SHELL--待续

Bash变量

?变量=值

?引用方式为:$变量

[[email protected] Desktop]# HI="Hello,and welcome to $(hostname)."
[[email protected] Desktop]# echo $HI
Hello,and welcome to localhost.localdomain.
[[email protected] Desktop]#

 

?    &>       :重定向所有的输出

?    2>&1   :重定向STDERR到STDOUT

?    >         :重定向STDOUT

?    2>        :重定向STDERR

[[email protected] test]# ll *.sh *.txt > AAA
ls: cannot access *.txt: No such file or directory
[[email protected] test]# cat AAA
-rwxr--r--. 1 root root 158 Jun 28 06:36 test1.sh
-rwxrwxrwx. 1 root root  59 Jun 28 06:33 test.sh
[[email protected] test]# ll *.sh *.txt 2> BBB
-rwxr--r--. 1 root root 158 Jun 28 06:36 test1.sh
-rwxrwxrwx. 1 root root  59 Jun 28 06:33 test.sh
[[email protected]host test]# cat BBB
ls: cannot access *.txt: No such file or directory
[[email protected] test]# ll *.sh *.txt &> CCC
[[email protected] test]# cat CCC
ls: cannot access *.txt: No such file or directory
-rwxr--r--. 1 root root 158 Jun 28 06:36 test1.sh
-rwxrwxrwx. 1 root root  59 Jun 28 06:33 test.sh

从文件重定向到标准输入:

[[email protected] test]# cat AAA
-rwxr--r--. 1 root root 158 Jun 28 06:36 test1.sh
-rwxrwxrwx. 1 root root  59 Jun 28 06:33 test.sh
[[email protected] test]# cat AAA | tr ‘a-z‘ ‘A-Z‘
-RWXR--R--. 1 ROOT ROOT 158 JUN 28 06:36 TEST1.SH
-RWXRWXRWX. 1 ROOT ROOT  59 JUN 28 06:33 TEST.SH
[[email protected] test]# tr ‘a-z‘ ‘A-Z‘  <AAA
-RWXR--R--. 1 ROOT ROOT 158 JUN 28 06:36 TEST1.SH
-RWXRWXRWX. 1 ROOT ROOT  59 JUN 28 06:33 TEST.SH

for语句:

[[email protected] test]# cat for.sh
#!/bin/bash
for NAME in joe jak sky
do
   MESSAGE=‘hello world‘
   echo He name is $NAME.    "      $NAME say $MESSAGE !"
done
[[email protected] test]# ./for.sh
He name is joe.       joe say hello world !
He name is jak.       jak say hello world !
He name is sky.       sky say hello world !
[[email protected] test]#

[[email protected] test]# cat for1.sh

#!/bin/bash

for num in $(seq 1 6)

do

   echo $num

done

[[email protected] test]# ./for1.sh

1

2

3

4

5

6

[[email protected] test]#

[[email protected] test]# cat if.sh
#!/bin/bash
if ping -c1 -w2 128.0.0.1 &>/dev/null;                  then    echo network service is up !
   elif grep network /weihu.txt &>/dev/null;    then    echo network service is in maintenance !

else
   echo station is down !
fi
[[email protected] test]#
时间: 2024-11-05 11:54:10

SHELL--待续的相关文章

数据结构与算法之--高级排序:shell排序和快速排序【未完待续】

高级排序比简单排序要快的多,简单排序的时间复杂度是O(N^2),希尔(shell)排序的是O(N*(logN)^2),而快速排序是O(N*logN). 说明:下面以int数组的从小到大排序为例. 希尔(shell)排序 希尔排序是基于插入排序的,首先回顾一下插入排序,假设插入是从左向右执行的,待插入元素的左边是有序的,且假如待插入元素比左边的都小,就需要挪动左边的所有元素,如下图所示: ==> 图1和图2:插入右边的temp柱需要outer标记位左边的五个柱子都向右挪动 如图3所示,相比插入排序

几种常用排序算法(bubble、select、insert、shell、未完待续)

接下来两天重新看看几种常用的排序算法. 1.冒泡排序法 每次从 i=0开始比较相邻的元素,若arr[i]>arr[i+1],则交换它们.直到把最大的元素推向最后.回到 i=0,直至完成. 1 import java.util.Scanner; 2 class bubble 3 { 4 public static void main(String[] args) 5 { 6 int n,temp; 7 int i,j; 8 int[] arr=new int[10000]; 9 Scanner s

Shell编程之三 —— shell script 脚本(未完待续)

1.脚本的语法构成: shell script 是利用 shell 的功能所写的一个『程序(program)』,这个程序是使用纯文本文件(文件后缀名最好为sh文件,方便我们管理),将一些 shell 的语法与指令(含外部指令)写在里面, 搭通配符.配正规表示法.管线命令与数据流重定向.条件判断.循环逻辑等功能,以达到我们所想要的处理目的. 构成(常见):shell语法和外部指令   通配符     [a-z]  [A-Z]     ?    *          正规表达式      管线命令

Linux操作系统基础解析之(七)——Bash(Shell)基础知识(2)

三.命令历史bash从Korn Shell和C Shell中吸收了很多的精华,其中之一正式为已经执行过的命令保存一个缓存副本的特性,我们称之为"命令历史"功能.我们为什么要使用命令历史功能呢?每个用户登录成功之后,尤其是使用bash这样的文件接口登录之后,所有的操作都是由执行命令来实现的,那么就不可避免的会出现重复执行某个命令的情况,如果每个命令都依靠键入的方式来输入的话,固然没有问题,但是效率不高而且也是浪费时间的"可耻"行为,命令历史刚好给我们提供了解决这种问题

Linux Shell编程之二选择结构

Shell编程学习之二 一.bash的条件测试 测试方法或者说测试书写: test EXPR [ EXPR ] [[ EXPR ]] 例如:测试变量 User_Name 的之是否为root test $User_Name="root" [ $User_Name == "root" ] [[ $User_Name == "root" ] 根据比较时操作数的类型,测试类型分为: 测试类型 运算符 运算符所代表的意义 示例 整形测试 -gt -lt -

Linux shell一行流编程实践

Linux下很多命令用起来真相当方便,尤其是进行批处理操作时.(话说感觉这种程序也不复杂,windows咋一直不搞一个好用的shell呢) 这里列出一些常用shell操作的应用,具体命令的用法与解释就不列了,网上有很多很好的教程. 批量重命名 假如当前目录下有若干.wma文件,我希望把它们批量转成.mp3文件 例: 001.wma -> 001.mp3 解决方案: awk ? 1 ls * | awk -F '.' '{print "mv "$0" "$1&q

shell编程面试必会30题

来源:<跟老男孩学Linux运维>Shell编程实战 面试题1:批量生产随机字符文件名 代码: [email protected]:/home/dell/shell# vim creat_ten_htmlfile.sh  #!/bin/bash #Date: 2017-8-25 #Author: XianWei Path=/tmp/shelltmp [ -d "$Path" ] || mkdir -p $Path                #如果测试结果为假,就执行mk

小白日记7:kali渗透测试之主动信息收集-发现(一)--二层发现:arping/shell脚本,Netdiscover,scapy

主动信息收集 被动信息收集可能不准确,可以用主动信息收集验证 特点:直接与目标系统交互通信,无法避免留下访问痕迹 解决方法:1.使用受控的第三方电脑进行探测,使用代理 (做好被封杀的准备) 2.伪造大量的来源IP进行探测,进行噪声迷惑,淹没真是的探测流量 扫描流程:发送不同的探测,根据返回结果判断目标状态[IP层->端口层->服务层] 发现 识别活着的主机,发现潜在的被攻击目标,输出结果为IP地址列表. 二层发现 数据电路层,使用ARP协议 使用场景:已经取得一台主机,进入内网,对内网进行渗透

scrapy shell 用法(慢慢更新...)

scrapy shell 命令 1.scrapy shell url #url指你所需要爬的网址 2.有些网址数据的爬取需要user-agent,scrapy shell中可以直接添加头文件, 第①种方法 scrapy shell -s USER_AGENT="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36" url #url指你所

Linux操作系统基础解析之(七)——Bash(Shell)基础知识(1)

在日常交际英语中,Shell可以翻译成壳,大多指能够对内部核心起到保护作用的一种装置或结构.在计算机科学中,shell其实是指:为操作者提供的.能够通过系统调用或库调用使用整个计算机资源的访问接口. 它既是一种命令解析器又是一种程序设计语言.作为命令解析器,它可以解释和执行用户输入的命令,也可以自动地解释和执行预先编写好并保存在某个文本文件中的一系列的命令:作为程序设计语言,shell特别定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和条件分支,让我们可以像使用高级语言