bash - 在bash的文件名中获取变量名
问题描述
我想根据我需要的数字将我的文件名从 file.txt 更改为 file_4i.txt 和 file_5i.txt 但是当我使用下面的命令时,文件名更改为 file_.txt 并且 m 的值永远不会是表明的。我想获得 4i 但 $mi 也不起作用。
sudo sh -c "m=4 ; mv file.txt file_$mi.txt"
sudo sh -c "m=4 ; mv file.txt file_$m.txt"
解决方案
使用单引号,这样变量就不会提前展开,并且使用{}
somi
不会被解释为变量名:
sudo sh -c 'm=4 ; mv file.txt file_${m}i.txt'
sudo sh -c 'm=4 ; mv file.txt file_$m.txt'
推荐阅读
- typo3 - 如何从 Typo3 中的错误 500 恢复我的网站?
- azure-active-directory - Microsoft Graph 部分租户同意
- javascript - 在 jQuery each() 函数中选择元素
- python - 编写新变量和值的字典。使用它来定义值
- laravel - Laravel 7 一个刀片组件同时使用变量和静态信息
- excel - Excel拆分列数据并添加到新行
- javascript - 如果加载失败,是否有更好的方法在 app.js 脚本标签上添加 onerror 回调?
- c# - 存储未知数量的基于用户输入的变量
- powershell - gpo 文件夹重定向设置的位置
- ssl - 如何在我的 jelastic kubernetes 集群上安装letsencrypt?