2017-06-16 105 views
-1

如何编写一个bash脚本或python脚本来根据一个参数来cd到一个目录,其中所有参数目录以abc开头并且位于父目录xyz中?示例用法,Bash脚本,cd到directrory?

bashcd.sh abcFilename 

以上搜索父目录xyz中的目录并将当前目录更改为abcFilename。

+1

你可以说你是什么意思,去一个目录? – Szymon

+1

在bash中命令是'cd'。但你似乎已经知道了。你在问什么? – khelwood

+2

这个问题真的是关于**使用**脚本(其源代码未在问题中显示),或关于**编写**这样的脚本? – Socowi

回答

2

你不能这样做(改变父shell中的目录),使用shell 脚本。您需要在某些shell 函数(或通过采购某些命令文件,请参阅. & source shell builtins或评估内容,请参阅eval shell内置函数)执行此操作。

因为脚本是在它自己的进程中运行(见execve(2)),以及chdir(2)系统调用影响当前进程(以及未来儿童),但不是父(壳)的过程。

考虑阅读Advanced Linux Programming以获取更详细的解释。另见credentials(7) & capabilities(7)

0

它不清楚你在找什么。我猜这可能是你想要的,我可能是错的。

cd xyz/$(ls xyz/ | grep abcFilename)