1.沒(méi)必要這樣。因?yàn)閟hell腳本執(zhí)行的時(shí)候是在一個(gè)子shell中執(zhí)行的,即使你成功的將字符串轉(zhuǎn)化為命令,你也不會(huì)因?yàn)槟_本執(zhí)行“cd /home”而在本shell中切換到/home下。……額,是不是說(shuō)的繞了。。。
創(chuàng)新互聯(lián)專注于瑞安企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站開(kāi)發(fā)。瑞安網(wǎng)站建設(shè)公司,為瑞安等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
2.倘若按照你的想法,那就是一個(gè)新shell了。話句話說(shuō),你覺(jué)得像bash、sh、csh等等這些shell難道僅僅是一個(gè)腳本嗎?再換句話說(shuō),難道bash僅僅是在sh的一個(gè)腳本嗎?……
=====
3.假如真的需要在使用腳本的時(shí)候讓使用者自己輸入需要腳本執(zhí)行的命令,只能用選擇語(yǔ)句或者判斷語(yǔ)句來(lái)匹配使用者的輸入。因?yàn)槭褂谜咴谑褂媚_本時(shí)輸入給腳本的“命令”從根本上講并不是命令,對(duì)腳本而言它僅僅是一個(gè)執(zhí)行過(guò)程中的“選項(xiàng)”。好比“(1)刪除(2)增加(3)退出... 請(qǐng)輸入選項(xiàng):”這種最平常的方式,拓展開(kāi)也就是把提示去掉變成“請(qǐng)輸入命令:”,而在使用者輸入之后腳本用 if 刪除==輸入字符串 then 。。。這樣的方式來(lái)滿足需求。
======
沒(méi)了。
樓主你好!
這個(gè)函數(shù)char FAR * inet_ntoa( struct in_addr in);
功能:將一個(gè)IP轉(zhuǎn)換成一個(gè)互聯(lián)網(wǎng)標(biāo)準(zhǔn)點(diǎn)分格式的字符串。
你可以這樣做:
先定義個(gè)sockaddr_in p;
然后給p.sin_addr.s_addr=0xfeff0032;
再定義個(gè)字符指針char *a;用來(lái)存放轉(zhuǎn)后的字符串
最后使用a=inet_ntoa(p.sin_addr.saddr);
下面是我寫(xiě)的簡(jiǎn)單的測(cè)試程序:
下面是運(yùn)行的結(jié)果:
提醒下:
p.sin_addr.s_addr=0xfeff0032;這里可能涉及網(wǎng)絡(luò)字節(jié)轉(zhuǎn)換,需要用到ntohl()函數(shù),具體情況得看你的這個(gè)0xfeff0032到底是網(wǎng)絡(luò)字節(jié)的ip整數(shù),還是你自己主機(jī)上的ip整數(shù)。我這把它看成是主機(jī)上的ip整數(shù)!
希望的回答對(duì)你有幫助!
*************基本
Shell命令
的使用******
1、在/home目錄中創(chuàng)建兩個(gè)文件夾,分別命名為dir1和dir2,在dir1下創(chuàng)建子目錄d1,在dir1下創(chuàng)建子目錄d2,分別對(duì)目錄進(jìn)行移動(dòng)和刪除的操作。
(1)在終端提示符下輸入命令“mkdir
/home/dir1”,在home下創(chuàng)建dir1目錄。輸入命令“l(fā)s
/home”,可以看到dir1創(chuàng)建成功。
(2)在終端提示符下輸入命令“mkdir
/home/dir1/d1”,在dir1下創(chuàng)建子目錄d1。輸入命令“l(fā)s
/home/dir1”,可以看到d1創(chuàng)建成功。
(3)在終端提示符下輸入命令“mkdir
–p
/home/dir2/d2”,在home下創(chuàng)建子目錄dir2,同時(shí)在dir2下創(chuàng)建子目錄d2。輸入命令“l(fā)s/home”,可以看到dir2創(chuàng)建成功。
(4)輸入命令“cd
/home/dir2”,將工作路徑轉(zhuǎn)至/home/dir2。輸入命令“l(fā)s”,可以看到d2創(chuàng)建成功。
(5)輸入命令“cd
..”,將工作路徑轉(zhuǎn)至/home。
(6)輸入命令“pwd”,顯示當(dāng)前工作路徑為“/home”。
(7)輸入命令“cd”,將工作路徑轉(zhuǎn)至用戶主目錄。
(8)輸入命令“mv
/home/dir1/d1
/home/dir2”,將d1文件夾移動(dòng)到dir2中。輸入命令“l(fā)s/home/dir2”和“l(fā)s/home/dirl”,可以看到移動(dòng)成功。
(9)輸入命令“rmdir
/home/dir2/dl”,刪除dl文件夾。輸入命令“l(fā)s/home/dir2”,可以看到刪除d1成功。
(10)輸入命令“rmdir
–p
/home/dir2/d2”,刪除dir2和d2文件夾。輸入命令“l(fā)s
/home”,可以看到刪除dir2成功。
2、在/home目錄中創(chuàng)建一個(gè)名為f1的文件,對(duì)其進(jìn)行復(fù)制、移動(dòng)和刪除等基本操作。
(1)在終端提示符下輸入命令“cd
/home”,將當(dāng)前的工作路徑轉(zhuǎn)換為/home。
(2)在終端提示符下輸入命令“cat
f1”,之后輸入f1的文本內(nèi)容“this
is
f1”,按下Ctrl+D快捷鍵結(jié)束輸入。輸入命令“l(fā)s”可以看到f1創(chuàng)建成功。
(3)在終端提示符下輸入命令“cp
f1
dir1”,將f1復(fù)制到文件夾dir1中,輸入命令“l(fā)s
/home/dir1”,可以看到f1復(fù)制成功。
(4)輸入命令“rm
f1”,刪除/home中的f1文件。在出現(xiàn)的提示信息后輸入“Y”,輸入命令“l(fā)s”,可以看到f1刪除成功。
(5)輸入命令“mv
dirl/fl
/home”,將fl文件從dirl目錄
中移動(dòng)
到/home。輸入命令“l(fā)s”,可以看到f1移動(dòng)成功。
3、在/home目錄中創(chuàng)建一個(gè)名為f2的文件,對(duì)其進(jìn)行查找、統(tǒng)計(jì)等基本操作。
(1)在終端提示符下輸入命令“cat
f2”,之后輸入f2的文本內(nèi)容如下:
Linux
is
an
operating
system
for
computers.comparable
to
Windows
or
Mac
OS
X.It
was
originally
created
starting
in
1
99
1
by
Finnish
programmer
Linus(pronounced
LEE—nus)
Torvalds
with
the
assistance
of
developers
from
around
the
globe.
按下Ctrl+D快捷鍵結(jié)束輸入。再輸入命令“l(fā)s”可以看到f2創(chuàng)建成功。
(2)輸入命令“head
-3
f2”,查看文件前3行文本內(nèi)容。
(3)輸入命令“tail
-2
f2”,查看文件最后兩行文本內(nèi)容。
(4)輸入命令“grep‘linux’f2”,查找含有字符串“l(fā)inux”的文本行。
(5)輸入命令“wc
-w
f2”,統(tǒng)計(jì)f2中的單詞個(gè)數(shù)。
(6)輸入命令“find
f*”,在當(dāng)前目錄中查找以“f”開(kāi)頭的文件。
4、Shell的高級(jí)應(yīng)用。
(1)假定當(dāng)前的目錄是/home,輸入命令“cd
d”之后按下
Tab鍵
,系統(tǒng)自動(dòng)補(bǔ)全命令“cd
dir1”,按下
回車鍵
后工作路徑從當(dāng)前的目錄轉(zhuǎn)換到/home/dir1下。
(2)輸入命令“history
5”顯示最近執(zhí)行的5條命令。
(3)輸入命令“alias
cgdir=‘cd
/home’”,為命令“cd
/home”設(shè)置別名“cgdir”。輸入命令“cgdir”,工作路徑從當(dāng)前的目錄轉(zhuǎn)換到/home下。
(4)輸入命令“l(fā)s
[!a-c]*,顯示開(kāi)頭字符不是a、b、c的文件和文件夾。
用perl切割。我給了答案。百度說(shuō)違反規(guī)定。
_!! 您的申訴正在處理中,請(qǐng)耐心等待。nnnnnnd
echo "0123456789"|perl -n -e "s/(.)(...)(...)/\1,\2,\3,/;print;"
0,123,456,789