linux shell面试题

【站长推荐】#!/bin/bash# 需求:输入任意一个字符、判断是否为整数;然后再计算第一个字符与第二个字符之间的数。#01)输入任意字符echo -ne "请输入一个任意值:\t\t"read Num1echo -ne "请再次输入另一个任意数值:\t"read Num2#02)"X"防止未知错误出现if [ "X${Num1}" = "X" ] || [ "X${Num2}" = "X" ]then        echo "输入的字符1或字符2,有一个为空"        exit 1fi#03)用+1方式,判断输入是不是一个整数expr ${Num1} "+" 1 &> /dev/nullif [ $? -ne 0 ]then        echo -e "输入的数值1:[${Num1}],不是一个整数"        exit 2fiexpr ${Num2} "+" 1 &> /dev/nullif [ $? -ne 0 ]then        echo "输入的数值2:[${Num2}],不是一个整数"        exit 3fi#04)判断$Num1是否小于$Num2if [ ${Num1} -le ${Num2} ]then        :else        echo "输入的数值1:[${Num1}]大于输入的数值2:[${Num2}]"        exit 4fi#05)输出$1与$2之间的整数for((i=$[ Num1 + 1 ];i<${Num2};i++))do        echo "数值1与值2之间的整数为:[${i}]"done来自群组: 北京运维圈运维网 感谢您的阅读

grep 与正则表达式

特殊符號代表意義[:alnum:]代表英文大小寫字元及數字,亦即 0-9, A-Z, a-z[:alpha:]代表任何英文大小寫字元,亦即 A-Z, a-z[:blank:]代表空白鍵與 [Tab] 按鍵兩者[:cntrl:]代表鍵盤上面的控制按鍵,亦即包括 CR, LF, Tab, Del.. 等等[:digit:]代表數字而已,亦即 0-9[:graph:]除了空白字元 (空白鍵與 [Tab] 按鍵) 外的其他所有按鍵[:lower:]代表小寫字元,亦即 a-z[:print:]代表任何可以被列印出來的字元[:punct:]代表標點符號 (punctuation symbol),亦即:" ' ? ! ; : # $…[:upper:]代表大寫字元,亦即 A-Z[:space:]任何會產生空白的字元,包括空白鍵, [Tab], CR 等等[:xdigit:]代表 16 進位的數字類型,因此包括: 0-9, A-F, a-f 的數字與字元