Jam*_*eat 4 bash symbols quoting backslash
我正在编写一个 BASH 脚本并且我正在使用bash命令。以下哪一项是正确的(或都不正确)?
bash $pbs_dir/${module_name}.${target_ID}.${instance_ID}.pbs
Run Code Online (Sandbox Code Playgroud)
或者
bash \$pbs_dir/\${module_name}.\${target_ID}.\${instance_ID}.pbs
Run Code Online (Sandbox Code Playgroud)
\$将扩展为 literal $,所以有很大的不同:
$ a="hello"
$ echo $a
hello
$ echo \$a
$a
Run Code Online (Sandbox Code Playgroud)
另请注意,您几乎总是希望双引号您的参数扩展以避免分词和路径名扩展:
echo "$a"
Run Code Online (Sandbox Code Playgroud)
所以你正确地想要使用以下内容:
bash "$pbs_dir/${module_name}.${target_ID}.${instance_ID}.pbs"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1521 次 |
| 最近记录: |