0

我有一个文件,其中包含格式的键/值对

TAG PATH

. 现在,我想编写一个程序,从命令行读取TAG ,并将调用bash的当前工作目录更改为相应的PATH

我该怎么办?

4

1 回答 1

1

您可能会考虑类似(可能在您的 bash函数中)

while read tagname dirname ; do
   pushd $dirname ;
   dosomethingwith $tagname
   popd
done < yourinputfile.txt

请参阅此问题(关于readbash)并阅读高级 bash 脚本指南

GNU awk可能是一个更好的工具。

请注意,您只能使用chdir(2)系统调用(由cd orpushdpopdbash builtins调用)更改当前进程的当前目录。无法更改某些其他进程的目录(例如父进程或调用进程)。和builtinspushdpopd更新 bash目录堆栈

无法更改调用 shell(在终端中运行的父进程)的当前目录。但是你可以在那里定义你自己的 bash 函数。阅读高级 Linux 编程以了解有关Unix 进程的更多信息

于 2013-09-03T06:06:42.140 回答