我正在编写一个shell脚本,它有一堆命令,其中一些命令需要用户输入。例如,如果我想将更改推送到git,我使用命令git push
,然后请求我输入用户名和密码。传统的shell脚本在需要用户名时会暂停用户输入。我想要做的是,将此用户名和密码作为命令行参数传递,命令应该获取该值。
请注意: 1.以上问题不是git的上下文,我刚才用它作为例子。我知道我总是可以将我的凭据存储在特定于git的配置文件中,然后它不会提示我输入凭据。我只想知道如何完成这项工作的技巧。
我试图谷歌,但没有得到满意的结果。任何有关这方面的想法都会有所帮助。
答案 0 :(得分:1)
您需要使用" expect"命令发送密码。
参考这个答案 using expect in bash script
答案 1 :(得分:0)
shell中的命令名参数由$n
引用,其中n
是以0开头的参数编号,这是脚本的名称。例如以下脚本:
#!/bin/bash
echo $0 #name of the script
echo $1 #the first parameter
echo $2 #the second parameter
将打印程序名称和参数