传递shell脚本中的命令所期望的值

时间:2015-02-01 01:16:45

标签: bash shell

我正在编写一个shell脚本,它有一堆命令,其中一些命令需要用户输入。例如,如果我想将更改推送到git,我使用命令git push,然后请求我输入用户名和密码。传统的shell脚本在需要用户名时会暂停用户输入。我想要做的是,将此用户名和密码作为命令行参数传递,命令应该获取该值。

请注意: 1.以上问题不是git的上下文,我刚才用它作为例子。我知道我总是可以将我的凭据存储在特定于git的配置文件中,然后它不会提示我输入凭据。我只想知道如何完成这项工作的技巧。

  1. 再一次,就上面的例子而言,安全性并不是一个问题。目前,我并不担心从命令行将密码作为明文传递。
  2. 我试图谷歌,但没有得到满意的结果。任何有关这方面的想法都会有所帮助。

2 个答案:

答案 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

将打印程序名称和参数