我有一个脚本要求用户输入一些文本,例如$ script.sh someText
,但我需要确保用户类型的输入包含在$ script.sh 'someText'
等单引号中。但我似乎无法弄清楚如何测试报价。
关于用户可以输入什么类型的输入还有其他限制,例如没有空格,当然没有单引号作为输入的一部分,我通过阅读$1
轻松测试这两个,但是如何我是否读过BASH作为输入var $ 1的一部分正确读取的单引号是否用于打开和关闭用户的输入?
答案 0 :(得分:2)
您无法判断命令行是用单引号,双引号还是无引号编写的,因为shell会全部删除它们。
如果您有脚本echoit
:
#!/bin/bash
printf "%s\n" "$@"
然后你可以运行它:
echoit No\ Quotes "Double Quotes" 'Single Quotes'
输出将是:
No Quotes
Double Quotes
Single Quotes