bash - 将 bash 代码回显到 .sh 文件以执行混合变量
问题描述
我正在尝试使用以下代码创建 .sh 文件:
x=1; while [ $x -le 5 ]; do echo "Welcome $x times" $(( x++ )); done
现在我正在使用 echo 命令来尽可能多地执行此过程命令,因此我使用此命令来执行此操作:
echo "x=1; while [ $x -le 5 ]; do echo "Welcome $x times" $(( x++ )); done" > main.sh
当我使用 cat 命令查看写入文件的内容时,我得到了这个:
x=1; while [ 17 -le 5 ]; do echo "Welcome 17 times" 17; done
如何使用这样的命令将此代码写入文件?
解决方案
你的问题是引用。
在您尝试放置内部双引号的地方,您实际上是在结束外部双引号。此外,您需要外引号是单引号,以防止 bash 用它们的值替换变量和算术。
echo 'x=1; while [ $x -le 5 ]; do echo "Welcome $x times" $(( x++ )); done' > main.sh
推荐阅读
- node.js - Discord js bot在centos上太慢了
- pytorch - AttributeError:模块'torch._six'没有属性'PY3'
- typescript - FlatList onPress 到带有数据的不同屏幕
- flutter - 没有为 BehaviorSubject<> 类型定义 getter 'value'
- python - 在 nsmallest pandas 之后更改列中的值
- javascript - 批量下载一堆文件,限制下载大小为 100 KB
- google-cloud-platform - 在谷歌云 dns 中导入加权 DNS 记录
- html - 我可以使用 Tailwind CSS 在悬停时实现带下划线的按钮吗?
- c# - 如何设置 OpenTK 窗口图标
- java - 获取特定于连接的下一个自动编号值(并发)