通过bash编写简单的可执行文件.sh
时遇到一些问题。
打开终端(ctrl + alt + T)后的操作顺序如下:
pc:~$ roscd
pc:~/catkin_docking_ws/devel$ cd ..
pc:~/catkin_docking_ws$ cd devel/lib/tuginterface/
pc:~/catkin_docking_ws/devel/lib/tuginterface$ ./tuginterface
我一直在研究这个小问题,并遇到this source,该建议建议更改项目并将其重命名为别名,而这正是我试图做的事情:
alias proj="roscd"
alias proj2="cd .."
alias proj3="cd devel/lib/tuginterface/"
alias exec="./tuginterface"
经过多次试用,我当前的可执行文件是:
#!/bin/bash
alias proj="roscd"
alias proj2="cd .."
alias proj3="cd devel/lib/tuginterface/"
alias exec="./tuginterface"
但是它仍然不起作用。
same post建议创建一个脚本,然后在启动文件中创建一个别名。
请提供有关如何解决此问题的建议,如果这是一个简单的问题,抱歉,但我似乎没有发现我犯的错误。
答案 0 :(得分:1)
该脚本不需要定义别名。别名是您可以键入的命令。该脚本可以直接执行命令。
#!/bin/bash
cd ~/catkin_docking_ws/devel/lib/tuginterface
./tuginterface
我将三个cd
命令合并为一个命令,可直接跳转到正确的目录。
“但是我认为cd
在shell脚本中不起作用?”
这取决于您要查找的内容。当脚本更改目录时,它将影响脚本中的后续命令,因此在这方面起作用起作用。不过,在脚本中,目录的更改仅为 。调用脚本的人不会看到目录更改。他们的当前目录不受影响。