shell——运行

shell java python执行对比

每一个命令都有一个返回值
可用echo $?查看上一个命令的返回值,0为执行成功,不成功返回非0值
命令1 && 命令2 (当命令1执行成功后才会执行命令2)
命令1 || 命令2 (当命令1执行失败后才会执行命令2)
命令1 ; 命令2(从1到2按顺序执行命令)

查看命令路径

which bash
which python

如果在代码开头指定了解释器路径(只能在第一行),则可以直接运行如:
test.sh文件:(当然bash可以不用写,默认就是)

#!/usr/bin/bash
代码

则可以直接./test.sh运行

同样Python代码开头有
test.py

#!/usr/bin/python

也同样可./test.py直接执行 而不用 python ./test.py这样执行
但是要给执行权限chmod +x test.py

程序语言执行
C ——编译——二进制机器码(cpu能直接执行,但是要根据cpu指令集去写)
java——编译——字节码(只有java虚拟机jdk看的懂,cpu看不懂,字节码通过java虚拟机后最终还是要翻译成cpu看得懂的机器码执行)
shell——解释
perl——解释
expect——解释
python——编译(字节码)或解释都可以(python也有虚拟机)
综上 执行速度为 C>java>=python>shell(编译的大于解释的)
c偏底层开发 java python应用开发多一些

bash中调用python expect

把文件a.py的内容合到文件b.sh中

cat a.py>>b.sh

bash中有python代码如何执行:
同样也可以在python中套用shell,反过来即可

#!/usr/bin/bash
ping www.baidu.com &> x.dat

python(或/usr/bin/python) <<-EOF(此处-可以让结尾处的EOF有缩进,否则必须顶格写,且EOF这个名字也是可以任意自己定义的,如下面一个例子)
print "hello"
EOF
python(或/usr/bin/python)<<-ppl
print "hello"
ppl

echo "heloo bash"

ps:

bash a.sh
./a.sh
这两种方式是在子shell里面运行的

. a.sh
source a.sh
是在当前的shell(可以理解为最大的)下执行的,一般可以用来更新一下环境变量,别名(alias)之类的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值