shell脚本的循环语句用什么括号
ftp命令?
ftp命令?
FTP的命令行格式为:ftp -v -d -i -n -g [主机名],其中
-v显示远程服务器的所有响应信息;
-n限制ftp的自动登录,即不使用;
.n etrc文件;
-d使用调试方式;
-g取消全局文件名。
ftp使用的内部命令如下(中括号表示可选项):
1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.
2.$ macro-ame[args]:执行宏定义macro-name.
[password]:提供登录远程系统成功后访问系统资源所需的补充口令。
local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
:使用ascii类型传输方式。
:每个命令执行完毕后计算机响铃一次。
shell中如何去掉字符串中间的空格?
1、删除行首空格
sed ‘s/^[
]*//g
说明:
第一个/的左边是s表示替换,即将空格替换为空。
第一个/的右边是表示后面的以xx开头。
中括号表示“或”,空格或tab中的任意一种。这是正则表达式的规范。
中括号右边是*,表示一个或多个。
第二个和第三个中间没有东西,表示空
g表示替换原来buffer(缓冲区)中的,sed在处理字符串的时候并不对源文件进行直接处理,先创建一个buffer,但是加g表示对原buffer进行替换
整体的意思是:用空字符去替换一个或多个用空格或tab开头的本体字符串
2、删除行末空格
sed ‘s/[
]*$//g
和上面稍微有些不同是前面删除了^符,在后面加上了美元符,这表示以xx结尾的字符串为对象。
但是要注意在KSH中,Tab并不是
而是直接打入一个Tab就可以了。
3、删除所有的空格
sed s/[[:space:]]//g
有多少人会用DOS?
1.常用内置函数:(不用import就可以直接使用)
help(obj) 在线帮助, obj可是任何类型
callable(obj) 查看一个obj是不是可以像函数一样调用
repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝
eval_r(str) 表示合法的python表达式,返回这个表达式
dir(obj) 查看obj的name space中可见的name
hasattr(obj,name) 查看一个obj的name space中是否有name
getattr(obj,name) 得到一个obj的name space中的一个name
setattr(obj,name,value) 为一个obj的name space中的一个name指向vale这个object
delattr(obj,name) 从obj的name space中删除一个name
vars(obj) 返回一个object的name space。用dictionary表示
locals() 返回一个局部name space,用dictionary表示
globals() 返回一个全局name space,用dictionary表示
type(obj) 查看一个obj的类型
isinstance(obj,cls) 查看obj是不是cls的instance
issubclass(subcls,supcls) 查看subcls是不是supcls的子类
类型转换函数
chr(i) 把一个ASCII数值,变成字符
ord(i) 把一个字符或者unicode字符,变成ASCII数值
oct(x) 把整数x变成八进制表示的字符串
hex(x) 把整数x变成十六进制表示的字符串
str(obj) 得到obj的字符串描述
list(seq) 把一个sequence转换成一个list
tuple(seq) 把一个sequence转换成一个tuple
dict(),dict(list) 转换成一个dictionary
int(x) 转换成一个integer
long(x) 转换成一个long interger
float(x) 转换成一个浮点数
complex(x) 转换成复数
max(...) 求最大值
min(...) 求最小值
用于执行程序的内置函数
complie 如果一段代码经常要使用,那么先编译,再运行会更快。
2.和操作系统相关的调用
系统相关的信息模块 import sys
是一个list,包含所有的命令行参数.
分别表示标准输入输出,错误输出的文件对象.
() 从标准输入读一行 (a) 屏幕输出a
sys.exit(exit_code) 退出程序
是一个dictionary,表示系统中所有可用的module
得到运行的操作系统环境
是一个list,指明所有查找module,package的路径.
操作系统相关的调用和操作 import os
os.environ 一个dictionary 包含环境变量的映射关系 os.environ[HOME] 可以得到环境变量HOME的值
(dir) 改变当前目录 (d:outlook) 注意windows下用到转义
() 得到当前目录
() 得到有效组id () 得到组id
() 得到用户id () 得到有效用户id
() () ()
() 得到用户组名称列表
() 得到用户登录名称
得到环境变量
os.putenv 设置环境变量
设置umask
(cmd) 利用系统调用,运行cmd命令
操作举例:
(/tmp/xx) (echo hello gt /tmp/xx/a.txt) (/tmp/xx)
(/tmp/xx/a.txt,/tmp/xx/b.txt) (/tmp/xx/b.txt) os.rmdir(/tmp/xx)
用python编写一个简单的shell
#!/usr/bin/python
import os, sys
cmd ()
while cmd:
(cmd)
cmd ()