如果你是直接执行的scp,那命令行如果没有弹提示符,就是没有执行完
创新互联公司是一家集网站建设,昆山企业网站建设,昆山品牌网站建设,网站定制,昆山网站建设报价,网络营销,网络优化,昆山网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
如果你是后台执行的scp,那只有通过ps -fe来查看进程是否完成了
是于||是或看个例子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解释,先执行ls,如果ls执行成功,则执行pwd,pwd执行也成功,所以不执行echo
1,在看个例子
#
ls
tt||echo
1CentOS-Base-163.repo
CentOS-Base.repo
CentOS-Media.repo-bash:
tt:
command
not
found1同样先执行ls,如果成功则执行tt,但tt命令不存在,所以执行失败,这时就执行echo
1的操作
linux命令有内部命令和外部命令之分。内部命令实际上是shell程序的一部分,其中包含的是一些比较简练的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。外部命令是linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以它们包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调进内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell 程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。
一、区别:
1、内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。
2、外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。
二、如何判断。
在终端中输入 type 可以查看命令是内部命令还是外部命令。格式为:
type 要查看的命令
例如,我们要查看 cd 命令是否为内部命令,可以键入 type cd。从返回的结果可以看出, cd 是一个内部命令。
$type cd
cd is a shell builtin---此为内部命令,为shell内置
$type shutdown
shutdown is /sbin/shutdown 在文件系统的某个路径下有一个与命令名称相应的可执行文件
无所谓什么可执行。随便一个文件都可以用“./filename”来执行(filename文件在当前目录内)。
如果该文件原本就不是设计用来执行的(随便举个例子,比如一个OpenOffice文档文件),敲入命令后执行,屏幕会报错,说某句不合语法啥的。如果这个文件就是设计用来执行的,比如你说的二进制和脚本文件,在代码没错的情况下,敲入命令后就会有预期的执行结果了。
如果文件属性里有x,那么你可以“./filename”来运行。否则,用“sudo
./filename”来执行。
而且终端中用ls命令后,这类属性带x的会显示绿色。
shell脚本中判断上一个命令是否执行成功
shell中使用符号“$?”来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败。
结合if-else语句实现判断上一个命令是否执行成功。
示例如下:
if [ $? -ne 0 ]; then
echo "failed"
else
echo "succeed"
fi
或者:
if [ $? -eq 0 ]; then
echo "succeed"
else
echo "failed"
fi