传递 shell 脚本中的命令期望的值
Passing values that the commands in a shell script are going to expect
我正在编写一个 shell 脚本,其中有一堆命令,其中一些命令需要用户输入。例如,如果我想将更改推送到 git,我会使用命令 git push
,然后它会询问我的用户名和密码。传统的 shell 脚本在需要用户名时会暂停以等待用户输入。我想要做的是,将此用户名和密码作为命令行参数传递,命令应该获取该值。
请注意:
1. 上述问题与git无关,我只是举个例子。我知道我总是可以将我的凭据存储在特定于 git 的配置文件中,然后它不会提示我输入凭据。我只想知道如何完成这种事情的技术。
- 再一次,关于上面的例子,安全不是问题。目前,我不关心从命令行以明文形式传递密码。
我尝试 google 它,但没有得到满意的结果。对此的任何想法都会有所帮助。
shell 中的命令名称参数由 $n
引用,其中 n
是以 0 开头的参数编号,即脚本名称。例如下面的脚本:
#!/bin/bash
echo [=10=] #name of the script
echo #the first parameter
echo #the second parameter
将打印程序名称和参数
您需要使用"expect"命令发送密码。
参考这个答案
using expect in bash script
我正在编写一个 shell 脚本,其中有一堆命令,其中一些命令需要用户输入。例如,如果我想将更改推送到 git,我会使用命令 git push
,然后它会询问我的用户名和密码。传统的 shell 脚本在需要用户名时会暂停以等待用户输入。我想要做的是,将此用户名和密码作为命令行参数传递,命令应该获取该值。
请注意: 1. 上述问题与git无关,我只是举个例子。我知道我总是可以将我的凭据存储在特定于 git 的配置文件中,然后它不会提示我输入凭据。我只想知道如何完成这种事情的技术。
- 再一次,关于上面的例子,安全不是问题。目前,我不关心从命令行以明文形式传递密码。
我尝试 google 它,但没有得到满意的结果。对此的任何想法都会有所帮助。
shell 中的命令名称参数由 $n
引用,其中 n
是以 0 开头的参数编号,即脚本名称。例如下面的脚本:
#!/bin/bash
echo [=10=] #name of the script
echo #the first parameter
echo #the second parameter
将打印程序名称和参数
您需要使用"expect"命令发送密码。
参考这个答案 using expect in bash script