【发布时间】:2020-06-21 01:35:45
【问题描述】:
我不知道这种方法是否适用。
#!/bin/bash
file=$1
if [[ -x "$file" ]]
then
if [ $? = 0 ]
then
echo $file is executable
else
echo $file is not executable
fi
fi
但是,如果我使用非可执行文件运行此脚本,它不会返回任何内容 但是如果我用一个可执行文件运行这个脚本,它会返回“name is executable”
只是想知道位置参数的工作。我是初学者。但我可以 将第一个 if 条件的输出放入 $?
【问题讨论】:
-
您的第一个 if 已经测试文件是否可执行。嵌套的目的是什么?
-
只是想了解位置参数的工作原理。我是初学者。但是我可以将第一个 if 条件的输出转换为 $ 吗?
-
@BenjaminM.J :回答您问题的第一部分:位置参数
1存储在shell 变量file中。由于这是脚本中唯一使用位置参数的地方,所以我不明白你还想知道什么。 -
@BenjaminM.J :如果您使用不可执行的文件运行脚本,
[[ -x "$file" ]]是错误的,并且您没有else部分。因此,您不会打印任何内容。
标签: linux bash if-statement centos output