在bash参数$ @中保留转义

jozxyqk

与此相关:在bash参数中保留引号

一个简单的例子,我只是用nohup...运行命令

#!/bin/bash
nohup "$@"

...

./myscript gedit some\ file\ with\ spaces.txt

这很好。但是,我不知道在使用中间变量时如何保留正确的参数位。

#!/bin/bash
CMD="$@"
printf "%q\n" "$CMD" #for debugging
nohup $CMD

我尝试了一些排列,但在所有情况下均无效果。我想念什么?理想情况下,我想能够修改$CMD之前nohup

查尔斯·达菲

您需要使用一个数组。

cmd=( "$@" )
printf '%q\n' "${cmd[@]}"
nohup "${cmd[@]}"

标量变量(字符串)是NUL分隔的,因此它们不能包含参数列表(从本质上来说,它是NUL分隔的)。

另请参见数组上的BashSheet条目BashFAQ#5(说明如何使用数组)和BashFAQ#50(说明由于这样做而导致的陷阱)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在bash函数中保留转义字符

来自分类Dev

如何在bash参数中保留引号?

来自分类Dev

在Bash EOD中保留反斜杠转义的单引号以期望

来自分类Dev

$ @ bash参数不能转义

来自分类Dev

在uri builder中保留参数

来自分类Dev

转义sh / bash函数参数

来自分类Dev

在React-Router中保留查询参数

来自分类Dev

Perl转义参数以执行bash

来自分类Dev

将参数转义为bash函数

来自分类Dev

如何在循环内的闭包中保留参数?

来自分类Dev

在Scala宏中保留方法参数名称

来自分类Dev

在Sphinx文档中保留包装/装饰的Python函数的默认参数

来自分类Dev

在批处理文件参数中保留“ =”(等于)字符

来自分类Dev

在Sails.JS中保留之前添加缺少的请求参数

来自分类Dev

在批处理文件参数中保留“ =”(等于)字符

来自分类Dev

在Java接口中保留参数名称

来自分类Dev

如何在循环内的闭包中保留参数?

来自分类Dev

如何在清漆中保留特定的查询参数

来自分类Dev

在Scala宏中保留方法参数名称

来自分类Dev

如何在bash脚本中保留文件夹结构?

来自分类Dev

替换变量中的值,并在BASH中保留新行

来自分类Dev

如何在BASH的FTP命令中保留变量间距?

来自分类Dev

在函数中保留尾随换行符会导致 bash

来自分类Dev

处理 Bash 命令参数中的引号和转义空格

来自分类Dev

如何在返回类型中保留多态函数的参数类型

来自分类Dev

Java:如何指定JVM参数-XX:ErrorFile并在文件名中保留自动PID

来自分类Dev

jQuery从url获取参数还将在控制台日志中保留url

来自分类Dev

Kotlin编译器是否始终在字节码中保留参数名称?

来自分类Dev

使用角度和ui路由器在深层状态中保留/传递参数

Related 相关文章

热门标签

归档