如何正确编写bash可执行文件

时间:2020-06-05 12:52:53

标签: bash ubuntu-18.04

通过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建议创建一个脚本,然后在启动文件中创建一个别名。

请提供有关如何解决此问题的建议,如果这是一个简单的问题,抱歉,但我似乎没有发现我犯的错误。

1 个答案:

答案 0 :(得分:1)

该脚本不需要定义别名。别名是您可以键入的命令。该脚本可以直接执行命令。

#!/bin/bash

cd ~/catkin_docking_ws/devel/lib/tuginterface
./tuginterface

我将三个cd命令合并为一个命令,可直接跳转到正确的目录。

“但是我认为cd在shell脚本中不起作用?”

这取决于您要查找的内容。当脚本更改目录时,它将影响脚本中的后续命令,因此在这方面起作用起作用。不过,在脚本中,目录的更改仅为 。调用脚本的人不会看到目录更改。他们的当前目录不受影响。