㈠ shell腳本循環讀取更新了的文件並處理
這個問題不大,關鍵是什麼樣子的文件算是更新的?
這個可以跟樓主具體商量一下。
可以幫忙開發這個shell,使用python也都可以的。
樓主遇到了linux的問題,shell開發,python編程都能幫當哈。
㈡ shell腳本怎樣讀取文件的值,並賦值給變數
#!/bin/bash
#使用方法:./script.shfilename
a=$(sed-n'$p'$1|awk-F","'{print$1}')
b=$(sed-n'1!P;N;$q;D'$1|awk-F","'{print$1}')
echo$a
echo$b
㈢ 在Linux中怎麼運行shell腳本
(1)修改文件的許可權 chmod 755 文件名(755表示rwxr_xr_x)r表示讀許可權、w表示寫許可權、x表示執行許可權
(2)./文件名 ./表示執行
㈣ linux shell 硬碟文件讀寫校驗測試腳本
讀寫失敗時dd的返回值分別是多少一直查不到,而如果這個沒法弄明白的話,校驗的對錯就沒什麼意義了(根本不知道是dd出的錯還是md5sum出的錯),算了,你將就一下吧,查到後改一下就好了。
#!
/bin/bash
infile="$1"
cycle=0
=0
err=0
if
[
"$#"
-ne
1
]
||
[
!
-f
"$1"
]
then
echo
"用法:test
<infile>"
exit
1;
fi
echo
-e
"<>警告<>:本測試程序對磁碟有較大損害,請您謹慎運行。"
echo
-e
"
按Crtl+C鍵終止測試"
echo
-e
"開始測試?(y/n)y:c"
while
read
-r
answer
</dev/tty
do
if
[
"$answer"
==
'n'
]
||
[
"$answer"
==
'N'
]
then
echo
"結果:$cycle
輪共
$
次復制,讀/寫錯誤
$err
次"
rm
-f
${infile}_*
exit
0
fi
let
cycle++
echo
"=========================
第
$cycle
輪
==========================="
rm
-f
"$infile"_*
sync
let
++
#方便起見,選第一分區爆之
while
[
"$(df
-k|sed
-n
'3q;2s/
*/
/g;2p'|cut
-d
'
'
-f
4)"
-gt
1
]
do
echo
"===========
副本
$
==========="
outfile="${infile}_${}"
dd
if="$infile"
of="$outfile"
#關於dd命令如果遭遇讀失敗或寫失敗的返回碼無據可查,但肯定不是0,
另一種實現方法是用md5sum
--status檢驗,但這種方法看起來多此一舉反而導致讀寫比變>為3:1
if
[
"$?"
-ne
0
]
then
let
err++
fi
let
++
echo
&&
sync
trap
"echo
'結果:'
$cycle
'輪共'
$
'次復制,讀/寫錯誤'
$err
'次'
&&
rm
-f
${infile}_*
&&
exit;"
1
2
3
15
done
echo
-e
"磁碟已滿,刪除測試文件後繼續?(y/n)y:c"
done
㈤ linux腳本文件中怎麼從文件中讀取數據並賦值給變數
linux腳本文件中,從文件中讀取數據並賦值給變數的操作方法和步驟如下:
1、首先,創建一個名為shell.sh的文件:vi shell.sh,如下圖所示。
㈥ linux shell讀取文件每一行加入用戶輸入
沒看懂你的需求,這里的file文件和鍵盤輸入有什麼關系?
㈦ linux腳本文件中怎麼從文件中讀取數據並賦值給變數
假設文件名稱為tt.txt,則下列shell腳本可以將6個數字分別賦值給6個變數
i=1
for
lines
in
`cat
tt.txt`
do
case
${i}
in
1)
var1=${lines};;
2)
var2=${lines};;
3)
var3=${lines};;
4)
var4=${lines};;
5)
var5=${lines};;
6)
var6=${lines};;
esac
i=`expr
${i}
+
1`
done
echo
${var1}
echo
${var2}
echo
${var3}
echo
${var4}
echo
${var5}
echo
${var6}
㈧ linux shell腳本讀取用戶輸入的參數
新建一個test.sh文件
#!/bin/shecho "1 : For Test"echo "2 : For nohup &" while true do echo -n "please enter the number:" read line echo "$line" if [[ $line = "1" ]];then echo "For Test" elif [[ $line = "2" ]];then echo "For nohup &" else echo "can not find command" fidone
運行測試日誌如下:
[root@master batch]# sh test.sh1 : For Test2 : For nohup &please enter the number:11For Testplease enter the number:22For nohup &please enter the number:33can not find commandplease enter the number:sssscan not find commandplease enter the number: