怎么样简化 mkdir 1234 ; cd 1234 这类的命令? 有bash脚本么?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
riptide2012
帖子: 222
注册时间: 2011-12-14 10:21

怎么样简化 mkdir 1234 ; cd 1234 这类的命令? 有bash脚本么?

#1

帖子 riptide2012 » 2012-03-24 10:31

我有个python脚本写alias

像 alias fq='flexcmd.py "ssh -p %s -qTfnN -D 7070 %s"'

平时输入 fq xxx xxxx 就好了

但对cd这类shell内置的起不到作用。我这个脚本有类似的bash版本么?

代码: 全选

import sys
import os

subs_cnt = sys.argv[1].count("%s")
args_count = len(sys.argv) - 2

if subs_cnt > args_count and args_count == 1:
   args = tuple([sys.argv[2]] * subs_cnt)
else:
   args = tuple(sys.argv[2:])

sys.stdout.write(sys.argv[1] % args + "\n")
os.system(sys.argv[1] % args )
上次由 riptide2012 在 2012-03-24 11:24,总共编辑 2 次。
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 怎么样简化 mkdir 1234 ; cd 1234

#2

帖子 aerofox » 2012-03-24 10:35

定义一个函数或别名

代码: 全选

md()
{
    mkdir -p "$1" && cd "$1"
}
riptide2012
帖子: 222
注册时间: 2011-12-14 10:21

Re: 怎么样简化 mkdir 1234 ; cd 1234

#3

帖子 riptide2012 » 2012-03-24 11:17

aerofox 写了:定义一个函数或别名

代码: 全选

md()
{
    mkdir -p "$1" && cd "$1"
}
差不多是这种意思,但尼这种多一个命令就要再写一个吧

我有个python脚本写alias,但对cd这种shell内置的起不到作用。我这个脚本有bash版本么?

代码: 全选

import sys
import os

subs_cnt = sys.argv[1].count("%s")
args_count = len(sys.argv) - 2

if subs_cnt > args_count and args_count == 1:
	args = tuple([sys.argv[2]] * subs_cnt) 
else:
	args = tuple(sys.argv[2:])

sys.stdout.write(sys.argv[1] % args + "\n")
os.system(sys.argv[1] % args )
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 怎么样简化 mkdir 1234 ; cd 1234 这类的命令? 有bash脚本么?

#4

帖子 自由建客 » 2012-03-24 13:22

没看懂
头像
redhatlinux10
帖子: 773
注册时间: 2008-01-22 23:24
来自: 三亚
联系:

Re: 怎么样简化 mkdir 1234 ; cd 1234 这类的命令? 有bash脚本么?

#5

帖子 redhatlinux10 » 2012-03-24 14:24

bash的别名不支持参数,所以,你必须定义函数来实现你的需求。至少在bash中是这样的。
riptide2012
帖子: 222
注册时间: 2011-12-14 10:21

Re: 怎么样简化 mkdir 1234 ; cd 1234 这类的命令? 有bash脚本么?

#6

帖子 riptide2012 » 2012-03-24 14:54

自由建客 写了:没看懂
就是偏函数
riptide2012
帖子: 222
注册时间: 2011-12-14 10:21

Re: 怎么样简化 mkdir 1234 ; cd 1234 这类的命令? 有bash脚本么?

#7

帖子 riptide2012 » 2012-03-24 14:56

redhatlinux10 写了:bash的别名不支持参数,所以,你必须定义函数来实现你的需求。至少在bash中是这样的。
你说的没错,我就是看看有没有现有的可以用的脚本或者函数
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 怎么样简化 mkdir 1234 ; cd 1234 这类的命令? 有bash脚本么?

#8

帖子 自由建客 » 2012-03-24 16:01

什么叫“偏函数”?
回复