『壹』 Shell的簡單編程
$cat test.sh
#!/bin/bash
if [ -c $1 ];then
echo "$1是字元設備文件"
else test -e $1 || echo "This file is not exist"
fi
if test -d $2;then
echo "$2是目錄文件"
for file in `ls $2/*.c`
do
ls -l $file
done
else test -e $2 || echo "This file is not exist"
fi
$./test.sh ddd.c test
test是目錄文件
-rw-rw-r--. 1 flycat flycat 0 1月 1 21:20 test/aaa.c
-rw-rw-r--. 1 flycat flycat 0 1月 1 21:20 test/bbb.c
-rw-rw-r--. 1 flycat flycat 0 1月 1 21:20 test/ccc.c
『貳』 shell 編程 一個例子 急
列印參數好像是倒著列印出來吧, 我不喜歡這種風格
有點類似於c++的引用吧
類似於echo $* 吧未測試
$# 是參數的個數
echo 是命令的名字
循環 然後cmd變數等於 echo $n n是參數的個數
然後然後循環迭代每個一參數
cmd最後就是 echo $2 echo $1
然後在把上面的變數裡面的內容當作命令執行而已
=====================================
1 你的所有引號 單引號等標點都是中文符號, 當然不行了
2 while後面[和[後面的條件之間要有空格
#!/bin/bash
count=$#
cmd=echo
while [ $count -gt 0 ]
do
cmd="$cmd \$$count"
count=`expr $count - 1`
done
eval $cmd
『叄』 Linux命令編輯器Shell編程實例大全的介紹
《Linux命令編輯器Shell編程實例大全》是人民郵電出版社出版的圖書,作者是楊明華 於重重。
『肆』 幾個Shell編程例子
根據我以前的 SHELL 編程經驗,關於 UNIX/Linux SHELL 編程的詳細例子,這個必須要參考專門的 SHELL 編程指南、以及 awk 等操作才行。因為不同版本的 SHELL 編程(bash、C-Shell、ksh等),其語句也不是完全相同的,它們是有差別的。SHELL 編程中的細節實在是太細了,哪怕思路是正確的,但是在 SHELL 語句中缺少一個符號都不行。
『伍』 什麼是shell編程啊,求簡單實例
剛剛學習了新書<<實用Linux Shell編程>>,書寫的容易懂,第一章就回答了什麼是shell編程的問題。下面簡單回答,僅供參考,謝謝!
1)linux 命令,你可以一條一條執行,例如,顯示日期時間命令是date,顯示當前目錄的命令是pwd,列印一句話的命令可以是echo "good morning"
2)一個腳本是包含多條命令的文本文件,命令將按照順序依次運行。例如z.sh包含4行,如下:
$ cat z.sh
#!/bin/bash
date
pwd
echo "good morning"
第一行為腳本解釋程序的位置/bin/bash, 其他行, 是命令的「堆放」
3)增加腳本執行許可權:
$ chmod +x z.sh
4)運行腳本:
$ z.sh (或者./z.sh)
Mon Jan 12 15:20:32 CST 2015
/home/user
good morning
輸出有3行,分別是命令date的結果,命令pwd的結果,命令echo "good morning"的運行結果。
5)一般地,腳本不單單是幾個簡單命令的「堆放」,有判斷、分支選擇命令,循環命令,參數輸入,函數定義等等。
但是最簡單的shell腳本可以就一條命令,或者就幾個簡單命令的「堆放」。
僅供參考,謝謝!
『陸』 shell編程,會編的大神幫忙寫一下啦
#!/bin/bash
if[$#-ne3];then
echo-e",pleaseenter3parameters
Forexample:(IPMASKGATEWAY:10.0.0.2255.255.255.010.0.0.1)"
else
file="/etc/sysconfig/network-scripts/ifcfg-eth0"
sed-i/^.*$/d$file
echo"DEVICE="eth0"
BOOTPROTO="static"
IPADDR=$1
NETMASK=$2
GATEWAY=$3
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"">>$file
sleep1
/etc/init.d/networkrestart
fi
請通過file變數確定自己的路徑,通過echo中輸入來確定其他配置
#!/bin/bash
if[$#-ne4];then
echo-e",pleaseenter4parameters
Forexample:(userfilegrouppasswd:xiaoming/home/xiaomingxiaoming123456)"
else
if[!$(grep$3/etc/group)];then
groupadd$3
fi
adser$1-d$2-g$3-p$4
echo"===creatOK==="
fi
用戶,目錄,組,密碼
『柒』 shell編程
http://..com/question/126130175.html
-------------------------------------------------
那用perl 吧
user@minix-nb:~$ cat a
#! /usr/bin/perl
open(FD, "data") or die "Could not open: $!\n";
while (<FD>){
chomp;
@x = split;
@sorted = sort { $a <=> $b } @x;
print "Original Number = $_\n";
print "Sorted Number = @sorted\n";
}
close(FD)
user@minix-nb:~$ cat data
55 82 13 94 35 4 61 103 32 7
25 13 44 15 251 1 6 7 88 97 141
123 11 22 23 75 15 16 48 98 88
12 52 2 5 46 65 98 89 78 54 255
user@minix-nb:~$ ./a
Original Number = 55 82 13 94 35 4 61 103 32 7
Sorted Number = 4 7 13 32 35 55 61 82 94 103
Original Number = 25 13 44 15 251 1 6 7 88 97 141
Sorted Number = 1 6 7 13 15 25 44 88 97 141 251
Original Number = 123 11 22 23 75 15 16 48 98 88
Sorted Number = 11 15 16 22 23 48 75 88 98 123
Original Number = 12 52 2 5 46 65 98 89 78 54 255
Sorted Number = 2 5 12 46 52 54 65 78 89 98 255
user@minix-nb:~$
可沒用 sort , 或者用gawk
user@minix-nb:~$ cat a
#! /bin/bash
gawk '{
split($0, a, " ")
n = asort(a, tmp)
sorted = sep = ""
for ( i = 1; i <= n ; i++ ){
sorted = sorted sep tmp[i] ; sep = " "
}
print "Orginal Number = " $0
print "Sorted Number = " sorted
}' data
user@minix-nb:~$ cat data
55 82 13 94 35 4 61 103 32 7
25 13 44 15 251 1 6 7 88 97 141
123 11 22 23 75 15 16 48 98 88
12 52 2 5 46 65 98 89 78 54 255
user@minix-nb:~$ ./a
Orginal Number = 55 82 13 94 35 4 61 103 32 7
Sorted Number = 4 7 13 32 35 55 61 82 94 103
Orginal Number = 25 13 44 15 251 1 6 7 88 97 141
Sorted Number = 1 6 7 13 15 25 44 88 97 141 251
Orginal Number = 123 11 22 23 75 15 16 48 98 88
Sorted Number = 11 15 16 22 23 48 75 88 98 123
Orginal Number = 12 52 2 5 46 65 98 89 78 54 255
Sorted Number = 2 5 12 46 52 54 65 78 89 98 255
user@minix-nb:~$
也沒用 sort :)
『捌』 SHELL編程幾個小例子
一個最簡單的 shell 編程例子(假設使用全屏幕編輯程序 vi 編輯、並保存一個文件名為:my_string.sh 的文件):
#!/bin/sh
#print my_string's content in the console window
my_string = "This is my first sentence !"
echo $my_string
其中:# 表示注釋語句,用雙引號引起來的是字元串的內容,my_string 是變數名,$ 表示求變數 my_string 的值,echo 表示將求得的 my_string 的值顯示在控制窗口上。
然後在 SHELL 提示符 $ 下面,輸入:chmod +x my_string.sh <cr> 將該文件的許可權修改為可執行許可權;
$./my_string.sh <cr> 在當前目錄下面執行 my_string.sh SHELL 腳本文件
當然了,UNIX/Linux 系統的 SHELL 功能是極其強大的,如果要想精通 SHELL 編程,還需要學習關於一些 awk、sed 等的使用。所以說想達到輕車熟路的程度也不是一件輕而易舉的事情,是需要經過長時間的上機編程體會的。
『玖』 linux shell編程
首先vi
filename
進入編輯界面,切換插入模式,編程
#!/bin/bash/
#shell
i=0
sum=0
while
(i!=10)
do
i++
sum+=i
done
編完後,按ESC退到底行模式,shift+:,wq
sum.sh
最後sh
sum.sh顯示結果
因為我是vista系統,沒在linux下調試,不知對不對。你試下嘛