當前位置:首頁 » 編程軟體 » shell腳本注釋

shell腳本注釋

發布時間: 2022-01-31 17:28:15

A. 求助這段shell腳本里的注釋什麼意思

#! /bin/bash:表示所使用的 SHELL 是哪一種版本的 SHELL。在該 SHELL 文件中使用的是 bash,其它的還有:C-SHELL,即:csh。
-ne:不同,即:!=
-gt:大於,即:>

-lt:小於,即:<

-le:小於或者等於,即:<=

該 bash 文件中的注釋的功能就是:對 bash 部分運算符的總結(因為還有:-eq:即:相等、-ge:大於或者等於)

B. shell腳本里語句解釋

grep做文本過濾,查找操作
sed做文本替換操作,將 [{}="] 這個[ ]集合中的任意內容,只要出現都替換為空格。
awk篩選出每行的特定欄位,$5, $6, $9 $10 $11,列印出來並以空格分隔。
sort排序
uniq去重
結果保存到mk_RTDB-nef.tmp文件。

| 就是個管道符,把上一個命令的處理結果傳遞給下一個命令繼續處理。
要知道每步的結果,可以一個個地嘗試:
比如,先試試:
grep ^SERVER /SYSTEM//opf/absolute/lib/system_conf_mlt.txt
再試試:
grep ^SERVER /SYSTEM//opf/absolute/lib/system_conf_mlt.txt \
| sed 's/[{},="]/ /g'
再試試:
grep ^SERVER /SYSTEM//opf/absolute/lib/system_conf_mlt.txt \
| sed 's/[{},="]/ /g' \
| awk '{print $5 " " $6 " " $9 " " $10 " " $11}'

一步步地看輸出結果是什麼,對整個過程就瞭然於胸了。

C. 編寫一個linux的shell腳本求加註釋

#!/bin/bash
#filename:simple-useradd.sh

##(1)只使用一個參數,其他情況在退出後列印一條提示信息
##這個要求有點不明確,這是一個根據提示來執行的腳本,正常應該是不用傳遞參數的。
if[$#-ne0];
then
echo"Usage:$0"
exit1
fi
##(2)檢查/etc/passwd文件,屏幕輸出UID的消息
##定義函數DisplayUID
functionDisplayUID(){
cat/etc/passwd
}
##(3)檢查/etc/group文件,屏幕輸出GID信息
##定義函數DisplayGID
functionDisplayGID(){
cat/etc/passwd
}
##(4)用戶從鍵盤輸入信息--新用戶的描述、使用shell、UID、GID,並把這些信息分別添加到/etc/passwd、/etc/group、/etc/shadow中,創建用戶的主目錄/home/***---***為用戶名
##定義函數InputNewUser
functionInputNewUser(){
echo"---InputnewuserMenu"
read-p"username:"INusername
read-p"shell:"INshell
read-p"UID:"INUID
read-p"GID:"INGID
echo"開始在/etc/passwd添加帳號信息"
echo"開始在/etc/group添加帳號信息"
echo"開始在/etc/shadow添加帳號信息"
echo"創建用戶目錄…………"
useradd-s$INshell-u$INUID-g$INGID-m$INusername##useradd用來根據輸入,創建新用戶
if[$?-ne0];#對添加結果進行判斷
then
echo"添加用戶出錯了"
exit1
fi
}
##(5)設置新用戶的密碼
##定義SetPassWord
functionSetPassWord(){
localINusername
echo"SetPassWord:"
read-p"username:"INusername
passwd$INusername
}

whiletrue##進入菜單循環
do
cat<<-EOF##列印菜單
1------------DisplayUID
2------------DisplayGID
3------------Inputnewuser
4------------Setpassword
"按Qq退出"
EOF
read-p"choice:???"choice#接收用戶輸入
case$choicein#根據用戶選擇來執行相應的函數
1)DisplayUID;;
2)DisplayGID;;
3)InputNewUser;;
4)SetPassWord;;
[Qq])echo"bye";exit0;;
esac
done

這個腳本還有如下問題:

1、」只使用一個參數,其他情況在退出後列印一條提示信息」這個需求不明確,不知道是啥意思,正常情況下,像這種腳本都是不用位置參數的,也可能我不理解題目的意思;

2、腳本還不夠嚴謹,有一些異常沒有捕獲也沒有重定向,不過如果你是交作業的話就問題不大咯。

D. 使用bash腳本,要對一個文件添加註釋。文件中有很多keyword,比如「state」,要在每個state後面添加註釋

提供一個思路
不知道你的keyword怎麼保存的,是要在程序中加可以建立keyword數組並賦值,
如array[keyword]=state,
如果keyword和注釋在文件中也可以讀取存入如上數組,然後在需要注釋的文件中查找關鍵字,找到關鍵字,則替換為keyword=keyword+array[keyword]

如果需要詳細的,需補充問題

E. 在shell腳本中,哪個符號表示後面的內容是注釋

"#"號;
以「#」開頭的行就是注釋,會被解釋器忽略。

F. shell腳本讀文件如何忽略空行和注釋行

可以通過sed命令,將空行和注釋行刪除掉。

1、以下面的文檔內容為例,#號開頭的是注釋,然後有很多空行,文檔名為1.tt。

G. shell腳本里怎麼去掉其中兩行注釋並保存退出

  • 試試這樣: sed '/^$/d' input | awk '{print $0" "}' >output處理input文件。 首先用sed去掉所有空行,然後通過awk在逐行列印時再加上一個空行。 結果保存到output文件中。

H. SHell腳本解釋:麻煩哪位把下面的代碼仔細注釋一下,感謝!

list=`ls -l|grep -v grep|grep -v 0|grep -v export.sh|sort -n|awk {'print $9'}`
| 是管道符,將前面命令的執行結果傳遞給後面的命令。
學會拆分開來看就不難理解,其實可以一步一步地執行看看結果,比如先執行 ls -l ,再執行ls -l|grep -v grep,再執行ls -l|grep -v grep|grep -v 0,看有什麼變化。
這句意思就是,將 ls -l 命令的結果中,去除包含grep、0以及export.sh的行,用sort排序後取出第9列內容(即文件名列表),保存到list變數中。後面的arg即為按順序從文件名列表中取出的每個文件名。

len=${#arg} #get string len
這一句後面已經有注釋了,獲取arg字元串長度。

tab=${arg:0:len-4} #get filename not include extend name
這句後面也有注釋了,獲取文件名中除擴展名外的部分。字面解釋,就是獲取第0個字元到第(長度-4)個字元之間的字元串(擴展名加.一共4個字元)。

echo "bcp ${tab} in /opt/sybase/sdb/ln_data/${arg} -Uname -Ppwd -Sserver -c -t'||' -r'&&\n' -b10 >>./err.txt 2>&1"
列印 echo 後面的語句。語句中的變數被展開。
我覺得這句有問題,最後的輸出重定向 >>./err.txt 2>&1 應該拿到雙引號外面來,而且如果僅保存錯誤信息到err.txt的話,應該寫成 2>>./err.txt

I. 如果用vim編輯shell腳本有辦法寫中文注釋嗎

當然可以的,只要你裝了中文輸入法,就可以寫中文注釋了
這個注釋不限定英語的

J. 如何對shell腳本進行批量注釋

採用下面這種形式:

:<<COMMENTBLOCK
代碼行1
代碼行2
代碼行3
COMMENTBLOCK

注意:第二個COMMENTBLOCK需要頂格寫,前面不能有空格。

當然,這兩個COMMENTBLOCK也可以替換成任意在被注釋代碼行中未出現過的字元串。、


其實是利用了Here Documents,將代碼段作為空命令 : 的輸入。

關於Here Documents,參見:http://linux.die.net/abs-guide/here-docs.html

熱點內容
智慧易店伺服器地址是啥 發布:2025-03-14 20:57:49 瀏覽:886
小米ID密碼忘記了有什麼危害 發布:2025-03-14 20:45:28 瀏覽:610
大麥路由器怎麼改密碼 發布:2025-03-14 20:35:42 瀏覽:87
資料庫片語 發布:2025-03-14 20:27:21 瀏覽:248
角色卡演算法 發布:2025-03-14 20:08:48 瀏覽:650
linux伺服器安全加固 發布:2025-03-14 19:59:21 瀏覽:779
android系統資料庫 發布:2025-03-14 19:44:27 瀏覽:237
beats安卓手機怎麼彈窗 發布:2025-03-14 19:33:38 瀏覽:222
安卓手機新充電頭叫什麼 發布:2025-03-14 19:32:53 瀏覽:30
暗處增亮演算法 發布:2025-03-14 19:28:02 瀏覽:641