腳本的進階與一些基本腳本

1,腳本中用于表示數字大小寫和符號為:

-gt(大于)-lt(小于)-ne(不等于)-eq(等于)

格式為 [[空格 ”符號”空格]]

2,測試文件類型的選項

-f(是否為普通文件)-l(是否為鏈接文件)-d(是否為目錄)-e(單獨測試文件是否存在)

3,if語句的格式:(其中path代表條件,elif鏈接多個條件,最后一個條件用else表示)

if path1;then
        elif path2;then
        elif path3;then
        else path4;then
fi

4,while循環語句的格式

while +(條件);do
  (需要執行的操作)
done

其中條件如果一直為真,則這個循環為死循環。

                                                  基本的腳本

1.

寫一個腳本

1、創建用戶tuser1-tuser9;

2、創建目錄/tmp/dir-當前日期;

3、在/tmp/dir-當前日期 目錄中創建9個空文件file101-file109

4、將file101的屬主改為tuser1,依次類推,一直將file109的屬主改為tuser9;

#!/bin/bash
#
basedir=/tmp/dir- date + %Y%m%d
mkdir -p $basedir
for i in {1..9};do
filename=$basedie/file10$i
        touch $filename
        useradd tuser$i
        chown tuser$i $filename
done
~                           

2.

給定4個整數,判斷其中的最大值和最小數。并顯示出來

#!/bin/bash
#
if [ $# -ne 4 ];then
        echo "error"
        exit
fi
max=$1
min=$1
shift
for i in {2..4} ;do
    if [[ "$1" =~ ^[0-9]+$ ]] ;then
        if [ $max -lt $1 ] ;then
            max=$1
        fi
        if [ $min -gt $1 ] ;then
            min=$1
        fi
    else
        echo "$1 Not a number."
        exit 100
    fi
    shift 
done

echo "Max: $max"
echo "Min: $min"

3.打印99乘法表

#!/bin/bash
#
for ((i=1;i<=9;i++));do
        for((j=1;j<=i;j++));do
                echo -e "$j*$i=$(($i*$j))\t\c"
        done;
        echo
        done;

原創文章,作者:yuanchengren,如若轉載,請注明出處:http://www.www58058.com/76710

(0)
yuanchengrenyuanchengren
上一篇 2017-05-22 20:05
下一篇 2017-05-22 20:32

相關推薦

  • 自制kickstart文件——完成CentOS系統的自動化安裝

    CentOS 系統安裝: ·安裝程序:anaconda         bootloader–>kernel(initrd(rootfs))–>anaconda ·anaconda:<兩種模式>    …

    Linux干貨 2016-09-16
  • 馬哥教育網絡班21期-第八周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:是將廣播域劃分為多個小的沖突域,但廣播域沒有變。工作在OSI模型的數據鏈路層,端口很少;基于軟件;可以處理上層事務。集線器:對接收到的信號進行再生整形放大,擴大網絡傳輸距離;屬于純硬件網絡底層設備,工作在OSI模型的物理層,不具有交換機的”智能記憶”和”學習”的能力;也不具…

    Linux干貨 2016-08-29
  • 磁盤管理

    磁盤設備 一切皆文件 所有的Linux中的設備都可以使用下面命令進行操作:open(), read(), write(), close()(這些是C的函數) 塊設備:隨機訪問 字符設備:線性訪問 設備號碼: 主設備號:major number,標識設備類型 8是主要設備編號,代表類型 次設備號:minor number…

    Linux干貨 2016-09-01
  • 第九周博客作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現 #!/bin/bash declare -i sum=0 declare -i sum_nologin=0 for i in $(cut -d: -f7 /etc/passwd);do if…

    Linux干貨 2017-06-06
  • rpm與yum的簡單命令

                                  …

    Linux干貨 2017-04-18
  • SElinux配置httpd

    一、啟用SELinux策略并安裝httpd服務,改變網站的默認主目錄為/website,添加SELinux文件標簽規則,使網站可訪問     1、修改selinux策略并重啟 [root@localhost ~]# vim /etc/selinux/config# This file controls the stat…

    Linux干貨 2016-09-19
欧美性久久久久