例如
rename -bar '' foo-bar
-bar
被当成选项了
试过
'-bar' '\-bar'
都不行
![]() | 1 hanxiV2EX 2018-05-19 18:52:15 +08:00 via Android ![]() 试试 -- -bar |
![]() | 2 1010011010 OP @hanxiV2EX #1 可以了 |
![]() | 3 guog 2018-05-19 19:07:13 +08:00 via Android 一楼是一种解决方案,还可以用./ 比如 touch ./--test 这样就不用抑制语法分析了 |
5 Arnie97 2018-05-20 00:58:39 +08:00 via Android ![]() 注意分清哪些是 Shell 解析的,哪些是程序自行解析的。\x 和 'y' 这些是用于在 Shell 中转义的,程序实际收到的命令行参数里没有 \ 和 ' 的字符(当然这也跟 Shell 的实现有关,bash 会展开 * 之类的通配符,而 cmd 就不会) |