1. 程式人生 > >shell指令碼中與檔案判斷相關的指令

shell指令碼中與檔案判斷相關的指令

-e filename 如果 filename存在,則為真
-d filename 如果 filename為目錄,則為真
-f filename 如果 filename為常規檔案,則為真
-L filename 如果 filename為符號連結,則為真
-r filename 如果 filename可讀,則為真
-w filename 如果 filename可寫,則為真
-x filename 如果 filename可執行,則為真
-s filename 如果檔案長度不為0,則為真
-h filename 如果檔案是軟連結,則為真
filename1 -nt filename2 如果 filename1比 filename2新,則為真。
filename1 -ot filename2 如果 filename1比 filename2舊,則為真。
-eq 等於
-ne 不等於
-gt 大於
-ge 大於等於
-lt 小於
-le 小於等於
至於!號那就是取非了唄!

相關推薦

shell指令碼檔案判斷相關指令

-e filename 如果 filename存在,則為真 -d filename 如果 filename為目錄,則為真 -f filename 如果 filename為常規檔案,則為真 -L filename 如果 filename為符號連結,則為真

Shell指令碼的邏輯判斷檔案目錄屬性判斷、if特殊用法 、 case判斷

Shell指令碼中的邏輯判斷在shell腳本當中很多地方都會用到邏輯判斷,判斷某一個數值,判斷某個目錄或檔案,然後針對判斷的結果再做一個操作,若沒有判斷,是無法進行一些操作的. 例如cp一些檔案,或者MV,或是刪除某個檔案,沒有判斷,寫這些命令就沒什麼意義,也就不叫作shel

shell指令碼的邏輯判斷 檔案目錄屬性判斷 if特殊用法 case判斷

1,shell指令碼中的邏輯判斷。語法如下: 格式1:if 條件 ; then 語句; fi 格式2:if 條件; then 語句; else 語句; fi 格式3:if …; then … ;elif …; then …; else …; fi 邏輯判斷表示式:if [ $

shell指令碼的讀檔案(while read line)檔案(here document)

shell指令碼中如何讀取外部檔案並進行相關操作呢?正規化如下,是要背滴: while read line; do process $line done < file 如何在寫中將內容寫入新檔案呢,要用到here document,一種特殊的重定向技術,小范式如下,也

如何在shell指令碼判斷檔案或者資料夾是否存在?

1:查詢資料夾 如果資料夾存在,則列印一句存在,否則列印不存在 這裡的話可以自由加一些指令。 if [ test -d 資料夾名稱 ] ; then echo "資料夾存在!" else echo

Node.jsfs檔案系統-檔案file相關

1.首先引入fs檔案模組; //讀取檔案; fs.readFile(path[, options], callback)  path:檔名; options:檔案讀取方式; callback:回撥函式;回撥函式有兩個引數err data  其中data是檔案的

shell指令碼的函式shell

shell指令碼中的函式與子shell 原文https://www.jianshu.com/p/7db79d7997b5 函式 函式的使用 bash中也有函式。一個函式就是一個子程式,是用於實現一串操作的程式碼塊。bash中的函式的形式如下: functi

shell指令碼抽取文字檔案指定字串的方法:sed+grep方法、awk+grep方法(必要時可以聯合sed以及grep)、grep+cut方法

在linux中經常要對一些動態的文字檔案抽取指定的字串,比如執行ps命令後想要獲取指定的執行程序(如ps自己)的PID號(同一個程序每次啟動的時候pid號是隨機分配的)。該怎麼辦呢?當然,可以用一些擷取字串的方法,這裡介紹一下用2種方法來解決這類問題。 一、sed+grep方法: 首先大概瞭

shell指令碼字串比較和數字比較和檔案測試

(1) 字串比較: 作用:測試字串是否相等,長度是否為零,字串是否為NULL。 常用的字串比較符號如下。 =:比較兩個字串是否相同,相同則為“是”。 !=:比較兩個字串是否相同,不同則為“是”。 -n:比較字串的長度是否大於0,如果大於0則為“是”。 -z:比較字串的長度是否等於

Linux通過cat EOF新建檔案並新增或追加內容方法並在shell指令碼配置環境變數時使用

cat << EOF >實現新建檔案並新增內容 [email protected]:/opt# cat << EOF >abcd.txt > 1 > 2 > 3 > eof > EOF [email

如何在shell指令碼實現 scp 檔案的時候不手動輸入密碼

在shell指令碼中實現 scp 檔案的時候不手動輸入密碼的指令碼如下: #!/usr/bin/expect -f set password 密碼 spawn scp 使用者名稱@目標機器ip:拷貝檔案的路徑 存放本地檔案的路徑  set timeout 300 

shell指令碼嵌入二進位制檔案

shell指令碼中嵌入二進位制檔案 2011年02月28日 16:39:00 ssmile 閱讀數:3836 標籤: 指令碼 shell linux 加密 解密 gcc 最近有人問我,一個叢集監控軟體的安裝檔案特別“詭異”,說腳本里有“亂碼”卻能執行,是怎麼回事?我看了才發現這個東西原來是

shell指令碼載入資料檔案到hive表

如果執行時間允許,還可以增加判斷hive表是否存在的。 #!/bin/ksh #------------------------------------------------------------------------------------- #-

shell指令碼從多個不相關的目錄遞迴獲取所有影象的路徑

get_imagelist.sh原始碼: dir_list=( "/opt/win/tim.zhong/database/face_dataset/image

shellshell指令碼在大檔案日誌按照時間段快速搜尋日誌

問題描述: 在大流量線上服務中,日誌系統會產生數量龐大的日誌,動輒就是幾十G。在如此之大的檔案中快速搜尋日誌是運維人員經常遇見的問題。我們經常遇見的問題是查詢一段時間內的某些條日誌。比如,今天有一

Linux下批量修改檔案字尾名及shell指令碼匹配檔名稱變數寫法

rename .txt.COMPLETED  .txt   *.txt.COMPLETED 為了完整起見,我這裡再用一些例子加以說明 ${ } 的一些特異功能: 假設我們定義了一個變數為: fi

關於JVM方法呼叫的相關指令,以及解析(Resolution)和分派(Dispatch)的解釋——過載的實現原理重寫的實現原理

我們看一下main方法的位元組碼,可知say1方法是static方法,所有它的方法呼叫指令為invokestatic,再者他是一個靜態解析過程,我們可以從位元組碼清除地看出來 StaticResolution.say1 ()字樣。 say2()是一個final方法,不可以過載,重寫,雖然是一個invokev

Shell指令碼方法--從檔案逐行讀取內容

從檔案逐行讀取資料的方法有兩種,一種是在while迴圈或until迴圈中使用read命令,通過檔案描述符一行一行的讀取檔案內容;另一種是在for迴圈中使用cat <filename>來讀取檔案的內容。1.使用for迴圈從檔案中逐行讀取內容:在預設情況現下此方法是逐

shell指令碼代替timeout的指令

在shell指令碼中,如果需要執行一條指令,但是需要嚴格的時間控制,但是裝置上沒有timeout這條指令,可以使用如下方式代替 # watchdog process mainpid=$$ (sleep

Linux shell指令碼父子程序變數的分析

轉載地址:https://site.douban.com/196781/widget/notes/12220452/note/261008964/ 【問題】一個 test.sh 裡面這麼寫 #! /bin/bash read test echo $test exit 0 儲