1. shell腳本里這兩句是什麼意思
在shell中,可以使用read語句從鍵盤或文件的某一行文本中讀入信息,並將其賦給一個或多個變數。如果是多個變數,shell將空格或TAB作為變數之間的分隔符。
舉個例子:
建立一個/tmp/tmpfile文件,內容如下
a b c
建立一個shell腳本,內容如下
#!usr/bin/sh
read first_param second_param third_param < /tmp/tmpfile
echo "${second_param}"
執行腳本會列印"b"
first_param和third_param雖然讀入,但未使用。
如first_param,或AAAAAA,BBBBBB,只是變數名,沒有實在意義。
你的例子中,${HWORKDIR}/${LDRDIR}/${FILDAT}/${CFGFIL}應該是一個配置文件,內容以空格或TAB分隔。第一部分賦給AAAAAA,第二部分賦給RMTPTH,以此類推。如果read命令執行失敗,列印錯誤信息到日誌並退出。
2. shell 腳本里$什麼意思
Linux shell 腳本中, $@ 和$# 分別是:
$@:表示所有腳本參數的內容
$#:表示返回所有腳本參數的個數。
示例:編寫如下shell腳本,保存為test.sh
#!/bin/sh
echo "number:$#"
echo "argume:$@"
執行腳本:
./test.sh first_argsecond_arg
概念:
Shell就是一個命令行解釋器,它的作用就是遵循一定的語法將輸入的命令加以解釋並傳給系統。它為用戶提供了一個向Linux發送請求以便運行程序的介面系統級程序,用戶可以用Shell來啟動、掛起、停止甚至是編寫一些程序。 Shell本身是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。
以上內容參考:網路-Shell腳本
3. shell腳本 -d 是目錄文件,那麼-e,-f分別是什麼還有"! -e"這又是什麼意思呢
-e表示如果filename存在,則為真。
-f表示如果filename為常規文件,則為真。
!-e表示取非,如果filename存在,則為假。
(3)shell腳本中ne的意思擴展閱讀:
shell和shell腳本的區別:
確切一點說,Shell就是一個命令行解釋器,它的作用就是遵循一定的語法將輸入的命令加以解釋並傳給系統。它為用戶提供了一個向Linux發送請求以便運行程序的介面系統級程序,用戶可以用Shell來啟動、掛起、停止甚至是編寫一些程序。
Shell本身是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。Shell既是一種命令語言,又是一種程序設計語言(就是你所說的shell腳本)。
作為命令語言,它互動式地解釋和執行用戶輸入的命令;作為程序設計語言,它定義了各種變數和參數,並提供了許多在高階語言中才具有的控制結構,包括循環和分支。
它雖然不是 Linux系統內核的一部分,但它調用了系統內核的大部分功能來執行程序、創建文檔並以並行的方式協調各個程序的運行。
4. shell腳本中.是什麼意思
操作系統與外部最主要的介面就叫做shell。shell是操作系統最外面的一層。shell管理你與操作系統之間的交互:等待你輸入,向操作系統解
釋你的輸入,並且處理各種各樣的操作系統的輸出結果。 shell提供了你與操作系統之間通訊的方式。這種通訊可以以交互方式(從鍵盤輸
入,並且可以立即得到響應),或者以shell script(非交互)方式執行。shell script是放在文件中的一串shell和操作系統命令,它們可以被
重復使用。本質上,shell script是命令行命令簡單的組合到一個文件裡面。 Shell基本上是一個命令解釋器,類似於DOS下的command.com
。它接收用戶命令(如ls等),然後調用相應的應用程序。較為通用的shell有標準的Bourne shell (sh)和C shell (csh)。
互動式shell和非互動式shell 互動式模式就是shell等待你的輸入,並且執行你提交的命令。這種模式被稱作互動式是因為shell與用戶進行交
互。這種模式也是大多數用戶非常熟悉的:登錄、執行一些命令、簽退。當你簽退後,shell也終止了。 shell也可以運行在另外一種模式:非
互動式模式。在這種模式下,shell不與你進行交互,而是讀取存放在文件中的命令,並且執行它們。當它讀到文件的結尾,shell也就終止了。
shell的類型在UNIX中主要有兩大類shell Bourne shell (包括 sh, ksh, and bash) Bourne shell ( sh) Korn shell ( ksh) Bourne Again
shell ( bash) POSIX shell ( sh) C shell (包括 csh and tcsh) C shell ( csh) TENEX/TOPS C shell ( tcsh).
附:LINUX系統的shell原理
Linux系統的shell作為操作系統的外殼,為用戶提供使用操作系統的介面。它是命令語言、命令解釋程序及程序設計語言的統稱。
shell是用戶和Linux內核之間的介面程序,如果把Linux內核想像成一個球體的中心,shell就是圍繞內核的外層。當從shell或其他程序向
Linux傳遞命令時,內核會做出相應的反應。 shell是一個命令語言解釋器,它擁有自己內建的shell命令集,shell也能被系統中其他應用
程序所調用。用戶在提示符下輸入的命令都由shell先解釋然後傳給Linux核心。
5. 我在網上找的了一個shell腳本用於給FTP伺服器傳送文件,但是部分內容不懂 求大神賜教
FTPIT只是個標志,你看最後邊還有一個FTPIT,整體是這樣的
ftp -i -n $IP <<FTPIT
...
FTPIT
它就和<<EOF是一樣的,就是代表在前後兩個FTPIT之間的內容傳給ftp命令執行。
6. shell腳本中的$#表示什麼意思呢
shell腳本執行過程中 把第一個字元串作為腳本名稱(或程序名稱)處理,第二、第三。。。都作為參數處理。shell會將這些參數默認的賦給變數 1 2 3 。。。所以當你echo $1 $2的時候看到的就是參數變數的值。
解答一下$#的問題:這里$#是計算輸入參數的個數
還有一些有用的演算法:$@ 代表所有輸入的參數;$* 同上
7. 求助這段shell腳本里的注釋什麼意思
#! /bin/bash:表示所使用的 SHELL 是哪一種版本的 SHELL。在該 SHELL 文件中使用的是 bash,其它的還有:C-SHELL,即:csh。
-ne:不同,即:!=
-gt:大於,即:>
-lt:小於,即:<
-le:小於或者等於,即:<=
該 bash 文件中的注釋的功能就是:對 bash 部分運算符的總結(因為還有:-eq:即:相等、-ge:大於或者等於)
8. if [ $ -ne 0 ];then 是什麼意思
$?表示上一條命令返回值,$0表示第一個參數,-ne表示不等於。
這是unix的shell編程語句,如果上一條命令執行度後的結束代碼不是0則執行下面的命令,知道fi行之前。
如果上一條命令成功執行,返回0,否則返回1. [$? -ne 0] 表示如果$?的值不等回於0,則上一條答命令沒有執行。
此處應該是 ping -c 1 -W 2 $ROUTER >/dev/null 2>&1 執行失敗。
(8)shell腳本中ne的意思擴展閱讀:
如果booleanExpression(布爾表達式)求值為true,就運行statement-1;否則運行statement-2。else關鍵字和後續的statement-2是可選的。
如果沒有else子句,而且booleanExpression求值為false,那麼什麼也不會發生,程序繼續執行if語句之後的代碼。注意,布爾表達式必須放在圓括弧中,否則無法編譯。
如果沒有名為CMDCMDLINE的環境變數,%CMDCMDLINE%將在CMD.EXE進行任何處理前擴充為傳遞給CMD.EXE的原始命令行;否則,您會得到其數值。
如果沒有名為CMDEXTVERSION的環境變數,%CMDEXTVERSION%會擴充為CMDEXTVERSION當前數值的字串符表達式;否則,您會得到其數值。
網路-if語句
9. shell 中 if then語句中會跟著-ne -ge之類的語句是什麼意思呢
if [ 1 -ne 1 ];then
...
fi
這是指當1不等於1時執行then後的語句
-eq:等於
-ne:不等於
-le:小於等於
-ge:大於等於
-lt:小於
-gt:大於
10. if [ $# -ne 1 ];then 是什麼意思
if [ $# -ne 1 ];then的意思是,如果shell傳遞到腳本的參數不等於1,則執行某命令。
$#:是指傳遞到腳本的參數個數。
-ne:是指不等於則為真。
if condition;then 是shell中的流程式控制制語法,意思是如果condition位真,則執行後面的語句。
(10)shell腳本中ne的意思擴展閱讀
1、shell幾個特殊字元用來處理參數介紹:
$*:以一個單字元串顯示所有向腳本傳遞的參數。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。
$$:腳本運行的當前進程ID號。
$!:後台運行的最後一個進程的ID號。
2、shell數值測試符號介紹:
-eq:等於則為真。
-gt:大於則為真。
-lt:小於則為真。