shell指令碼中,shell指令碼中 if f FileA a O FileB then 語句中判斷條件怎麼理解,邏輯關係是什麼?

時間 2021-10-22 22:26:28

1樓:

-a是and,左右條件兩者都成立

-o是or,左右條件任意一條成立

2樓:

你可以在man test,看到

expression1 -a expression2both expression1 and expression2 are true

expression1 -o expression2either expression1 or expression2 is true

,-a就是兩者都為真,-o就是其中一個為真-f file

file exists and is a regular file-o file

file exists and is owned by the effective user id

3樓:又為勝利而來

shell的意思是殼,在計算機領域的意思是人機介面。人在殼外,計算機在殼內。

pc的dos系統就是人機介面,用鍵盤打入的命令或讓計算機執行的命令組合bat檔案,都通過介面的解釋,告訴計算機要執行的任務。

unix,linux等系統也有類似dos的東西,有sh,csh等人機介面,它們的bat就是 sh 指令碼,csh 指令碼 (script).

人機介面的核心,是一個解釋程式。3

在shell指令碼中有個語句是if [ -d $1"/"$file ],其中 $1"/"$file是什麼意思

4樓:馮虎庭

$1是指你運用這個指令碼後跟著的第一個片語,比如你這個指令碼命名為shell.sh,那麼shell.sh /etc時,/etc代表$1 , for file in ` ls $1 ` 這段語法是代表以file為變數列舉出$1也就是/etc下所有檔案,for...

in 宣告用於對陣列或者物件的屬性進行迴圈操作。

shell 中 if[x$1 = x];then 什麼意思

5樓:匿名使用者

if[x$1 = x];中復$1表示執行shell時傳的第一個引數。制

即:如果有一

bai個dushell檔名為zhitest.sh那麼執行命令為./test.sh a b

其中a為第

dao一個引數b為第二個引數$1就代表的是a這個字母。

在if[x$1 = x];中實際就會判斷 xa = x這樣寫的主要目的是當如果寫成["$1" = "$2" ] 在 $1,$2為空時會在某些bash版本**現編譯錯誤所以運用了shell中的字元抵消原則。

說簡單點就是一種規則,你看**不管x就行。

6樓:匿名使用者

(命令列第一個引數來) $1 如果只等如x, 那就是自變數沒有內容,是空變數, 也

是用來測試命令列上有沒有引數,例如

user@minix-nb:~$ cat a#! /bin/bash

if [ x$1 = x ]

then

echo "the first argu is empty"

else

echo "the first argu is $1"

fiuser@minix-nb:~$ ./athe first argu is emptyuser@minix-nb:

~$ ./a 123the first argu is 123user@minix-nb:~$

這樣 ok? :)

shell指令碼中的,shell指令碼中的 是什麼意思?謝謝!

喻逸 shell中沒有這樣的用法,是makefile中的用法,以下總結了makefile裡面的常用變數 不包含副檔名的目標檔名稱。所有的依賴檔案,以空格分開,並以出現的先後為序,可能包含重複的依賴檔案。第一個依賴檔案的名稱。所有的依賴檔案,以空格分開,這些依賴檔案的修改日期比目標的建立日期晚。目標的...

shell指令碼在linu下執行shell指令碼登陸遠端

bin bash tmptty tty tmptty basename tmptty tmpname whoami ip 目標主機地址 inp1 m 主機的使用者名稱,注意必須有 m inp2 m 主機的密碼,注意必須有 m inp3 ls m inp4 pwd m inputfile in out...

linux如何編寫shell指令碼

自然智慧樹 一般以 bin sh開頭 不是必須要寫,但一定要單獨一行 指定執行這個指令碼的shell程式 也可以用 bin zsh或其他 然後就是堆命令了。linux的shell指令碼支援很多功能,加上linux高度模組化的命令,完全可以用shell指令碼寫出複雜的程式。以上只是簡單介紹如何開始寫s...