对于我的第一个 bash 脚本,我想创建一些让我非常恼火的东西:当我切换文件夹时,我希望该文件夹的内容自动显示。我尝试将以下代码添加到 ~/.bashrc:
alias go='cd; ls'
Run Code Online (Sandbox Code Playgroud)
我想够简单了!不是这样。虽然键入go /etc
确实列出了 /etc 的内容,但我的工作目录实际上并没有改变,我仍然在我以前所在的目录中。我该如何补救?
为什么我不能将东西通过管道传输到 cd 中?
例子:
$ pwd >> ~/mloc
$ cd /
$ tail -n 1 ~/mloc | cd
Run Code Online (Sandbox Code Playgroud)
cd 失败。如果这样做:cd $(tail -n 1 ~/mloc)
,它的工作原理。
我理解我写的最后一个命令有效,但我不明白为什么我不能输入 cd。
为了进一步说明,我们有两个文件内容:
文件 1
hello
1_hello
2_hello
world
1_world
2_world
hello1
1_hello1
2_hello1
world1
1_world1
2_world1
Run Code Online (Sandbox Code Playgroud)
文件 2
This
hello
1_hello
2_hello
is world
1_world
2_world
my
hello1
1_hello1
2_hello1
word
world1
1_world1
2_world1
file
Run Code Online (Sandbox Code Playgroud)
我想要的是迭代 file1 的第一列并删除 file2 中匹配的条目并产生如下输出:
This
is
my
word
file
Run Code Online (Sandbox Code Playgroud)
我该如何继续?