如何正确编写 bash 可执行文件
How to properly write a bash executable file
我在通过 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 建议创建一个脚本,然后在启动文件中创建一个别名。
请告知如何解决这个问题,如果这是一个简单的问题,我很抱歉,但我似乎没有发现我犯的错误。
脚本不需要定义别名。别名是您可以自己键入的命令。脚本可以直接执行命令。
#!/bin/bash
cd ~/catkin_docking_ws/devel/lib/tuginterface
./tuginterface
我已经将三个 cd
命令合并为一个可以直接跳转到正确目录的命令。
"But I thought cd
doesn't work in shell scripts?"
这取决于您要查找的内容。当脚本更改目录时,它会影响脚本中后面的命令,因此在这方面它 确实 起作用。不过,目录的更改仅在脚本中 。调用脚本的人不会看到目录更改。他们的当前目录不受影响。
我在通过 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 建议创建一个脚本,然后在启动文件中创建一个别名。
请告知如何解决这个问题,如果这是一个简单的问题,我很抱歉,但我似乎没有发现我犯的错误。
脚本不需要定义别名。别名是您可以自己键入的命令。脚本可以直接执行命令。
#!/bin/bash
cd ~/catkin_docking_ws/devel/lib/tuginterface
./tuginterface
我已经将三个 cd
命令合并为一个可以直接跳转到正确目录的命令。
"But I thought cd
doesn't work in shell scripts?"
这取决于您要查找的内容。当脚本更改目录时,它会影响脚本中后面的命令,因此在这方面它 确实 起作用。不过,目录的更改仅在脚本中 。调用脚本的人不会看到目录更改。他们的当前目录不受影响。