我有一个很大的命令来运行该程序。该命令通常是静态的。如何创建一个脚本或我可以运行的东西./start
(甚至从桌面运行(我使用 arch linux))来执行我的命令/home/user/program --argument1 --argument2 --argument3 --argument4 --argument5 ...
?是否可以使该脚本动态化,以便我可以添加/替换参数?希望得到您的帮助!
答案1
您可以创建一个简短的 bash 脚本来执行此操作,但我认为您寻找的是 shell 别名,您可以将别名添加到 bashrc 或单独的别名文件中。请参阅下面的示例。
alias name=‘command —argument —argument —argument’
现在每次运行name
它都会运行完整的命令。
请记住,除非以交互模式运行,否则别名在 shell 脚本中不起作用。请参阅下面的示例。
#!/bin/bash -i
如果你想制作一个简短的 bash 脚本,因为参数很长,或者你想保留你使用的常用命令的列表,你可以这样做。
#!/bin/bash
command —argument \
—argument \
—argument
# —argument \
—argument
您可以将脚本命名为简短的名称,以便轻松运行,只需记住它必须位于您的 PATH 中的位置即可。
任何带有 的参数#
都将被忽略,因此您可以更改运行的内容。当您了解有关 bash 脚本的更多信息时,您可以添加 if 和 else 语句,循环是无限的,这就是 shell/终端如此强大的原因。
在 Linux 中,有很多方法可以完成您所询问的事情,如果您问 10 个人,您可能会听到几种不同的方法。使用 bash 和 Linux 中的大多数东西一样,你可以通过一百种不同的方式来实现相同的结果,有些方法比其他方法更好,有些可能比另一种方法短几个击键,但我的看法是保持它的可读性,因为无论多么聪明当你几个月后回到你的代码或脚本时,你会忘记你当时在想什么。因此,请保持其可读性,是的,您可能可以以不同的方式保存两到三个按键,其中一些需要时间和经验来实现,但首先要保留它,以便您理解它而不是其他人告诉您的。如果你不明白它为什么这么做,那么你就什么也没学到。
答案2
您可以在您的名称中命名一个别名~/.bash_profile
它通常位于您的主目录中(否则您可以只创建该文件)。例如,要创建别名,ls -a
只需键入la
您只需在 as 中添加一行~/.bash_profile
:
alias la='ls -a'
保存更改并source ~/.bash_profile
:-)