如果你是直接執(zhí)行的scp,那命令行如果沒(méi)有彈提示符,就是沒(méi)有執(zhí)行完
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),昆山企業(yè)網(wǎng)站建設(shè),昆山品牌網(wǎng)站建設(shè),網(wǎng)站定制,昆山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,昆山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
如果你是后臺(tái)執(zhí)行的scp,那只有通過(guò)ps -fe來(lái)查看進(jìn)程是否完成了
是于||是或看個(gè)例子ls
pwd||echo
1輸出是[root@localhost
yum.repos.d]#
ls
pwd||echo
1CentOS-Base-163.repo
CentOS-Base.repo
CentOS-Media.repo/etc/yum.repos.d解釋?zhuān)葓?zhí)行l(wèi)s,如果ls執(zhí)行成功,則執(zhí)行pwd,pwd執(zhí)行也成功,所以不執(zhí)行echo
1,在看個(gè)例子
#
ls
tt||echo
1CentOS-Base-163.repo
CentOS-Base.repo
CentOS-Media.repo-bash:
tt:
command
not
found1同樣先執(zhí)行l(wèi)s,如果成功則執(zhí)行tt,但tt命令不存在,所以執(zhí)行失敗,這時(shí)就執(zhí)行echo
1的操作
linux命令有內(nèi)部命令和外部命令之分。內(nèi)部命令實(shí)際上是shell程序的一部分,其中包含的是一些比較簡(jiǎn)練的linux系統(tǒng)命令,這些命令由shell程序識(shí)別并在shell程序內(nèi)部完成運(yùn)行,通常在linux系統(tǒng)加載運(yùn)行時(shí)shell就被加載并駐留在系統(tǒng)內(nèi)存中。外部命令是linux系統(tǒng)中的實(shí)用程序部分,因?yàn)閷?shí)用程序的功能通常都比較強(qiáng)大,所以它們包含的程序量也會(huì)很大,在系統(tǒng)加載時(shí)并不隨系統(tǒng)一起被加載到內(nèi)存中,而是在需要時(shí)才將其調(diào)進(jìn)內(nèi)存。通常外部命令的實(shí)體并不包含在shell中,但是其命令執(zhí)行過(guò)程是由shell 程序控制的。shell程序管理外部命令執(zhí)行的路徑查找、加載存放,并控制命令的執(zhí)行。
一、區(qū)別:
1、內(nèi)部命令在系統(tǒng)啟動(dòng)時(shí)就調(diào)入內(nèi)存,是常駐內(nèi)存的,所以執(zhí)行效率高。
2、外部命令是系統(tǒng)的軟件功能,用戶(hù)需要時(shí)才從硬盤(pán)中讀入內(nèi)存。
二、如何判斷。
在終端中輸入 type 可以查看命令是內(nèi)部命令還是外部命令。格式為:
type ?要查看的命令
例如,我們要查看 cd 命令是否為內(nèi)部命令,可以鍵入 type cd。從返回的結(jié)果可以看出, cd 是一個(gè)內(nèi)部命令。?
$type cd
cd is a shell builtin---此為內(nèi)部命令,為shell內(nèi)置
$type shutdown
shutdown is /sbin/shutdown????在文件系統(tǒng)的某個(gè)路徑下有一個(gè)與命令名稱(chēng)相應(yīng)的可執(zhí)行文件
無(wú)所謂什么可執(zhí)行。隨便一個(gè)文件都可以用“./filename”來(lái)執(zhí)行(filename文件在當(dāng)前目錄內(nèi))。
如果該文件原本就不是設(shè)計(jì)用來(lái)執(zhí)行的(隨便舉個(gè)例子,比如一個(gè)OpenOffice文檔文件),敲入命令后執(zhí)行,屏幕會(huì)報(bào)錯(cuò),說(shuō)某句不合語(yǔ)法啥的。如果這個(gè)文件就是設(shè)計(jì)用來(lái)執(zhí)行的,比如你說(shuō)的二進(jìn)制和腳本文件,在代碼沒(méi)錯(cuò)的情況下,敲入命令后就會(huì)有預(yù)期的執(zhí)行結(jié)果了。
如果文件屬性里有x,那么你可以“./filename”來(lái)運(yùn)行。否則,用“sudo
./filename”來(lái)執(zhí)行。
而且終端中用ls命令后,這類(lèi)屬性帶x的會(huì)顯示綠色。
shell腳本中判斷上一個(gè)命令是否執(zhí)行成功
shell中使用符號(hào)“$?”來(lái)顯示上一條命令執(zhí)行的返回值,如果為0則代表執(zhí)行成功,其他表示失敗。
結(jié)合if-else語(yǔ)句實(shí)現(xiàn)判斷上一個(gè)命令是否執(zhí)行成功。
示例如下:
if [ $? -ne 0 ]; then
echo "failed"
else
echo "succeed"
fi
或者:
if [ $? -eq 0 ]; then
echo "succeed"
else
echo "failed"
fi