2017-06-16 98 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)