繁体   English   中英

如何创建一个 bash 脚本,该脚本在执行脚本的同一行接受用户输入?

[英]How do I create a bash script that accept user input on the same line as the execution of the script?

我想我比我想象的更像一个新手? :)

奇怪的是,我知道这是一个简单的答案。 我知道我会为这多么简单而感到尴尬。 但是您可以从问题的标题中看到,我什至无法弄清楚如何正确地提出问题,这可能就是我无法谷歌搜索的原因......而且我知道有很多脚本可以做到这一点,但目前我似乎找不到一个可以查看其来源以找出答案的人。

编辑:bash 脚本

所以这就是我想要完成的事情:

user@some-machine:~$ myscript variable

其中“变量”是用户标记的东西,它将成为脚本中的变量。 我知道如何使用 read 命令获取用户输入,但我希望通过在一行中键入脚本名称和变量来执行脚本。

我对此很冗长,因为我希望其他人稍后会通过谷歌搜索找到这个并得到他们的答案。

提前致谢!

凯文

bash 脚本中的第一个参数是 $1,第二个是 $2 等等...

您也应该检查getopts ,例如,类似 unix 的-x参数处理

your_script -d some_d_arg -x file1.txt file2.txt

因此,请将脚本的 arguments 与文件名区分开来。

基本示例:

#!/bin/bash
while getopts d:x arg
do
    case "$arg" in
        d) darg="$OPTARG";;
        x) xflag=1;;
        ?) echo >&2 "Usage: $0 [-x] [-d darg] file ..."; exit 1;;
    esac
done
shift $(( $OPTIND-1 ))

for file
do
    echo =$file=
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM