gpt4 book ai didi

python - 将 tcsh 别名为 python 脚本然后将结果返回给 tcsh?

转载 作者:太空宇宙 更新时间:2023-11-04 10:46:12 24 4
gpt4 key购买 nike

我想创建一个 cd 版本,它将从目录结构中删除文件名,然后 cd 到该目录。

例如,如果我放入 (tc)shell

cd /net/homes/me/myfile.jpg 

它将剥离“myfile.jpg”并进入目录结构。我试过这是我的 .cshrc:-

alias ccd '/net/homes/me/scripts/getDir.py'

然后我的 getDir.py 文件读取为:-

#! /usr/bin/python

import sys
import os

def get_dir():
the_dir = sys.argv[1]
dir_split = the_dir.split("/")
dir_count = len(the_dir.split("/"))

file_count = len(dir_split[dir_count-1])
only_dirs = the_dir[:-file_count]
#print only_dirs
os.chdir(only_dirs)


get_dir()

这很好地去除了 dir 结构的文件名部分(我可以从 print 语句中看出这一点)但是 chdir 命令似乎不起作用。

谢谢!

最佳答案

有一个名为 dirname 的标准二进制文件可以为您完成此操作,因此您只需使用...

alias ccd 'cd `dirname \!:1`'

This works, can you explain the syntax?

好吧,dirname\!:1 部分意味着运行 dirname 程序,第一个参数传递给别名命令,反引号替换该命令的输出编程到 cd 命令中。

关于python - 将 tcsh 别名为 python 脚本然后将结果返回给 tcsh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17070416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com