pathname=$(cat $HOME/.rm.cfg)
if [ ! -z $pathname/$1 ]
Run Code Online (Sandbox Code Playgroud)
.rm.cfg 是包含以下目录的文件
/家/用户名/ deleted1
$1是文件的名称,例如.玻璃
为什么该行如果[ ! -z $pathname/$1 ]给出二元运算符预期的错误.
chr*_*ney 25
看起来您的$ pathname包含多个单词.您的.rm.cfg文件中可能有多行,或者路径可能包含空格.无论如何,你最终得到了
if [ ! -z word word word/$1 ]
Run Code Online (Sandbox Code Playgroud)
这不好.如果您只是期望单个路径并希望防止包含空格的路径,请将if行更改为
if [ ! -z "$pathname/$1" ]
Run Code Online (Sandbox Code Playgroud)
San*_*jay 19
我曾经遇到过相同的错误二元运算符,我会在某个变量中得到更多的单词.当我在下面提到它时使用它.
if [ ! -z ${variable} ];
Run Code Online (Sandbox Code Playgroud)
因此,为了解决此错误,我将其更改为:
if [[ ! -z ${variable} ]];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60095 次 |
| 最近记录: |