在 shell 脚本中获取输入

发布于 2024-12-17 03:35:06 字数 287 浏览 0 评论 0原文

我知道可以使用 shell 脚本获取输入

echo "text"
read $VAR

,或者在运行时获取它,

#! /bin/sh

if [ "$1" ]
then
  #do stuff
else
  echo "No input"
fi

但是如果我想在运行后获取整个字符串(包括空格)怎么办?我可以使用引号,但是有什么办法可以解决这个问题,所以我可以这样做: ./script.sh这是一句话

I know to get an input with a shell script you can do

echo "text"
read $VAR

or to get it at runtime

#! /bin/sh

if [ "$1" ]
then
  #do stuff
else
  echo "No input"
fi

But what if I want to get the entire string after I run it, including spaces? I could use quotation marks, but is there any way around this, so I can do:
./script.sh This is a sentence

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

是你 2024-12-24 03:35:06

使用

#!/bin/sh

if [ $# -gt 0 ] ; then
    echo "$*"
else
    echo "No input"
fi

但首先,考虑一下您正在做什么,然后仅传递一个带引号的参数。

Use

#!/bin/sh

if [ $# -gt 0 ] ; then
    echo "$*"
else
    echo "No input"
fi

But first, think about what you're doing and just pass a single quoted parameter.

胡渣熟男 2024-12-24 03:35:06
./script.sh "This is a sentence"

另一种方法是

./script.sh This\ is\ a\ sentence
./script.sh "This is a sentence"

another way is

./script.sh This\ is\ a\ sentence
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文