使用命令行输入参数
Use command line to enter parameters
我正在尝试了解如何使用命令行在我的程序中输入不超过三个参数...
它当前要求用户说出他们的用户名、姓名和密码——然后将创建的姓名、密码和 date/time 放入日志文件中,用户名作为 doc 文件——如下所示
function savefile {
# Save to file
if [ -e "$username".log ]; then
echo "Username already exists, returning you to the menu."
sleep 2
clear
menu
else
echo "$fullname" >> "$username".log
echo "$password" >> "$username".log
curdate=$(date +'%d/%m/%Y %H:%M:%S')
echo "$curdate" >> "$username".log
echo "Creating your account"
sleep 2
clear
echo "Account created"
echo
afterBasic
fi
}
想知道你们是否知道如何从命令行执行此操作?我知道我必须使用
sh 1 2 3
但仅此而已...
这是用 Batch 写的同样的东西,如果这也有帮助的话……
set OP_username=%1
set OP_fullname=%2
set OP_password=%3
if [%3]==[%9] goto 1
echo %OP_fullname% >> %OP_username%.log
echo %OP_password% >> %OP_username%.log
echo %date% %time% >> %OP_username%.log
要访问命令行参数,请使用 $
符号。因此,要访问您编写的第一个命令行变量 </code> 等等。因此,将变量 <code>OP_username
设置为等于您可以编写的第一个参数 OP_username=
.
到 运行 您的程序,使用您在命令行上编写 saveFile 1 2 3
的参数。 saveFile
是一个函数而不是 bash 脚本。如果您想 运行 将其作为 bash 脚本保存在 .sh
文件中。 运行 .sh
文件将定义您可以按上述方式调用的函数。另一种选择是不使用函数,而是在 .sh
文件中定义您的代码,假设名为 saveFile.sh
。那么你可以 运行 sh saveFile.sh 1 2 3
。所以你的代码将是:
saveFile.sh/function
# Save to file
username=
fullname=
password=
if [ -e "$username".log ]; then
echo "Username already exists, returning you to the menu."
sleep 2
clear
menu
else
echo "$fullname" >> "$username".log
echo "$password" >> "$username".log
curdate=$(date +'%d/%m/%Y %H:%M:%S')
echo "$curdate" >> "$username".log
echo "Creating your account"
sleep 2
clear
echo "Account created"
echo
afterBasic
fi
(ba)sh脚本中的命令行参数为</code>、<code>
、</code>等</p>
<p>所以你可以使用</p>
<pre><code>#!/bin/bash
OP_username=
OP_fullname=
OP_password=
# ...
我正在尝试了解如何使用命令行在我的程序中输入不超过三个参数...
它当前要求用户说出他们的用户名、姓名和密码——然后将创建的姓名、密码和 date/time 放入日志文件中,用户名作为 doc 文件——如下所示
function savefile {
# Save to file
if [ -e "$username".log ]; then
echo "Username already exists, returning you to the menu."
sleep 2
clear
menu
else
echo "$fullname" >> "$username".log
echo "$password" >> "$username".log
curdate=$(date +'%d/%m/%Y %H:%M:%S')
echo "$curdate" >> "$username".log
echo "Creating your account"
sleep 2
clear
echo "Account created"
echo
afterBasic
fi
}
想知道你们是否知道如何从命令行执行此操作?我知道我必须使用
sh 1 2 3
但仅此而已...
这是用 Batch 写的同样的东西,如果这也有帮助的话……
set OP_username=%1
set OP_fullname=%2
set OP_password=%3
if [%3]==[%9] goto 1
echo %OP_fullname% >> %OP_username%.log
echo %OP_password% >> %OP_username%.log
echo %date% %time% >> %OP_username%.log
要访问命令行参数,请使用 $
符号。因此,要访问您编写的第一个命令行变量 </code> 等等。因此,将变量 <code>OP_username
设置为等于您可以编写的第一个参数 OP_username=
.
到 运行 您的程序,使用您在命令行上编写 saveFile 1 2 3
的参数。 saveFile
是一个函数而不是 bash 脚本。如果您想 运行 将其作为 bash 脚本保存在 .sh
文件中。 运行 .sh
文件将定义您可以按上述方式调用的函数。另一种选择是不使用函数,而是在 .sh
文件中定义您的代码,假设名为 saveFile.sh
。那么你可以 运行 sh saveFile.sh 1 2 3
。所以你的代码将是:
saveFile.sh/function
# Save to file
username=
fullname=
password=
if [ -e "$username".log ]; then
echo "Username already exists, returning you to the menu."
sleep 2
clear
menu
else
echo "$fullname" >> "$username".log
echo "$password" >> "$username".log
curdate=$(date +'%d/%m/%Y %H:%M:%S')
echo "$curdate" >> "$username".log
echo "Creating your account"
sleep 2
clear
echo "Account created"
echo
afterBasic
fi
(ba)sh脚本中的命令行参数为</code>、<code>
、</code>等</p>
<p>所以你可以使用</p>
<pre><code>#!/bin/bash
OP_username=
OP_fullname=
OP_password=
# ...