tra*_*gar 2 shell bash cd-command command output
我希望我能做到,cd | [my command]但似乎cd在管道中不起作用。
我想直接cd进入输出[my command]而不编写各种 bash 脚本,我希望有一种简单的方法可以做到这一点。
在 POSIX shell 中:
cd -P -- "$(mycommand)"
Run Code Online (Sandbox Code Playgroud)
$(cmd)是命令替换。它扩展为cmd减去尾随换行符的标准输出。"$(cmd)". 如果没有引号,扩展将受到我们不想要的 split+glob 的影响。--将选项与参数分开。如果您知道 的输出mycommand不会以-nor开头+,则可以省略它。如果不that输出我被视为选项cdcd是改变当前目录的命令。但是,如果没有-P,它可能不会更改为包含..组件的作为参数给出的目录。或者你可以写cd $(mycommand). 这会非常草率,但如果输出mycommand不包含空格、制表符、换行符、*、?、[字符或..组件并且不以-或开头,那将起作用+。
现在我听到你问,如何使用这些命令更改以换行符结尾的目录?