我在 DOS 世界中花了太多时间,其中 cd..(无空格)可以工作。
我尝试在 ubuntu 中执行相同操作,通过在 /usr/local /bin 中定义一个名为“cl..”的 bash 文件。
它的身体是
#!/bin/bash
cd ..
我对该文件进行了 chmod +x。
它不起作用,ubuntu 不会抱怨命令未找到。
我做错了什么?
答案1
Unix shell 脚本与 DOS bat 文件有很大不同,因为它们是作为单独的进程执行的,而不仅仅是像 Windows 一样将命令加载到当前命令提示符中cmd.exe
您真正想要的实际上是 bash 别名或函数。
alias cd..='cd ..'
和都cd..() { cd ..; }
可以达到目的,第一个定义别名,第二个定义 shell 函数。
为了使它在后续 shell 中也可用,应将其写入到主目录中的.bash_profile
、.bashrc
或文件中。具体是哪个文件取决于您的发行版设置,请查看、和了解详情。.profile
man bash
/etc/profile
/etc/*bashrc
man bash
将通过可用的命令进一步帮助您。
如果您正在寻找比 bash 更用户友好的 shell,那么我建议您研究一下zsh
包。