我正在制作一个 bash 脚本,我希望它只有一行,这意味着它不会与用户进行任何交互,并且参数将与命令位于同一行。一旦用户点击返回,它就会输出结果。 现在,我有一些看起来像这样的东西:
#! \bin\bash
read $1 $2
do something with $1 and $2
但是,如果我在命令行开头键入 test 时将脚本命名为“test”,则必须键入 enter 才能执行脚本的其余部分。我应该如何修改它才能在一行中运行整个程序?
最佳答案
将参数传递给脚本的标准方法不是使用 read
(主动等待来自标准输入的输入),而是使用同一行的参数调用脚本:
./my_script.sh param1 param2
然后在脚本中,您可以使用 $1
、$2
等访问这些参数。示例(还要注意第一行 - 这描述了应该使用什么 shell运行脚本,并且应该是有效路径 - 即 /bin/bash
,而不是反斜杠):
#!/bin/bash
echo "First: $1 Second: $2"
然后调用脚本:
$ ./my_script.sh Hello There
First: Hello Second: There
关于linux - 在 bash 命令后立即读取多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22665675/