Bash 如何为在shellscript中运行的程序提供参数?

Bash 如何为在shellscript中运行的程序提供参数?,bash,Bash,例如,我有一个shell脚本: clear echo "Script is starting now please give input:" read parameter cd /path to program ./program $parameter 我怎样才能给我试图运行的程序提供参数呢?用户输入和传递的参数之间存在差异。在运行脚本时传递参数,用户输入是运行脚本时从终端读取的内容 program.sh clear echo "Script is starting now please

例如,我有一个shell脚本:

clear
echo "Script is starting now please give input:"
read parameter


cd /path to program
./program $parameter

我怎样才能给我试图运行的程序提供参数呢?

用户输入和传递的参数之间存在差异。在运行脚本时传递参数,用户输入是运行脚本时从终端读取的内容

program.sh

clear
echo "Script is starting now please give input:"

# Parameter you passed:
echo "$1 is the parameter you passed."

# capture user input
read parameter

# do what you wish with parameter:
echo "$parameter is the user input read." 
请确保更改脚本的权限

$: chmod u+x /path/to/program.sh
使用以下命令运行脚本:

./path/to/program.sh argument

你所做的是正确的(除了我会引用一些变量)。您面临哪些错误您对
读取
步骤的输入是什么?您是否收到“权限拒绝错误”?如果您不想使用chmod 777/path/program.sh更改权限(777=对用户、组和其他人的完全权限)。正如@anishsane所提到的,使用引号来保持格式^^
777
几乎从来都不是一个好的权限值,除了共享目录和文件。最有可能是
755
(如果是脚本)或者
555
(如果是二进制)。