linux - Echo 无法打印 "*.*"字符串

标签 linux bash shell sh

我需要在 shell 脚本中获取“.”字符串(即“*”)中的第一个 block 。我发现它不是打印字符串,而是显示当前目录中所有文件的列表。

如何克服这个问题?

主要目的是将字符串“asterisk.asterick”(从/etc/rsyslog.conf 读取)更改为“*.debug”,这里第一个字段我需要保持原样,只有第二个字段需要更改。

root@xyz-node:/tmp# ccvv=*.*
root@xyz-node:/tmp# echo ccvv
ccvv
root@xyz-node:/tmp# echo $ccvv
new_script.sh rsyslog.conf rsyslog.confe tmp.8R7bE0tYbg
root@xyz-node:/tmp#
root@xyz-node:/tmp#
root@xyz-node:/tmp# echo $ccvv|cut -d "." -f1
new_script

最佳答案

实际上你必须引用变量本身。 回显“$ccvv”

关于linux - Echo 无法打印 "*.*"字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49361487/

相关文章:

python - 将 python 脚本的输出通过管道传输到远程机器?

linux - 尝试运行 awk 可执行文件时出现 "bad interpreter"错误消息

bash - 如何删除日志文件中超过 14 天的行?

c - 如何使用 execvp()

linux - 为什么我的 shell 脚本退出?

shell - Emacs 口齿不清 : is it possible (using lisp) to run command in an eshell working in other buffer?

Linux根据名称长度查找文件和文件夹但输出完整路径

c - 共享内存编程错误(O_RDRW、PROT_WRITE、MAP_SHARED)

linux - 在 bash 中以格式 variable=value 从输入设置变量

linux - Azure Nvidia 中的 apt-update 出现公钥错误