我为 Mac OS X 编写了一个 bash 脚本,它收集大量计算机信息并将其写入 MySQL 数据库。除了一件事,一切都很好。我收集的信息之一是计算机名称。大约 90% 的计算机的名称中可能都有撇号。问题是当我尝试将变量写入 MySQL 时,由于撇号而出错。
有没有办法找出变量是否包含撇号以及是否用转义字符重写变量?我确定我需要使用 sed,但我对此还是很陌生。
例如,如果我有以下变量:
COMPUTER_NAME="Fred Flintstone's MacBook Air"
如何将变量更改为:
COMPUTER_NAME="Fred Flintstone\'s MacBook Air"
我可以将它传递给我需要的 perl,但我宁愿将它保留在 BASH 中。
我也不想重命名这些计算机,因为它们有 300 多台。