Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux shell脚本-文件存在_Linux_Shell_Terminal - Fatal编程技术网

Linux shell脚本-文件存在

Linux shell脚本-文件存在,linux,shell,terminal,Linux,Shell,Terminal,我想问一个关于shell脚本的问题 假设有两个路径可以安装文件 路径1或路径2 脚本应首先在路径1上查找文件 如果文件不存在或未安装在路径1上 然后脚本应该在path_2 如果不在那里,则显示错误 我有这个 代码:-#确保在C:\Program Files(x86)\Git\bin\sh.exe中找到sh.exe ls/c/Program\Files\\(x86\)/Git/bin/sh.exe>/dev/null 2>&1|{ 回声 echo-e“\t Git Bash未安装在默认位置。” e

我想问一个关于shell脚本的问题 假设有两个路径可以安装文件
路径1
路径2

脚本应首先在路径1上查找文件 如果文件不存在或未安装在路径1上 然后脚本应该在
path_2
如果不在那里,则显示错误

我有这个 代码:-
#确保在C:\Program Files(x86)\Git\bin\sh.exe中找到sh.exe
ls/c/Program\Files\\(x86\)/Git/bin/sh.exe>/dev/null 2>&1|{
回声
echo-e“\t Git Bash未安装在默认位置。”
echo-e'\t安装要求在C:\Program Files(x86)\Git\\bin\sh.exe中找到sh.exe。'
回声
echo-e“\e[0;31mAborting…\e[m”
WaitforInterandexit
}
echo-e“\t在C:\Program Files(x86)/Git/bin/sh.exe中找到Git Bash安装”

现在可以在以下位置安装sh.exe

C:\ProgramFiles\Git\bin

 C:\Program Files (x86)\Git\bin\sh.exe
现在我想更改脚本,以便它首先检查文件

C:\ProgramFiles\Git\bin

如果文件不在那里,则在

 C:\Program Files (x86)\Git\bin\sh.exe

下面是可以部署的简单示例代码,请务必修改Path_1和Path_2的值

#!/bin/bash                                                                                                                                                                                                  

Path_1="path1"
Path_2="path2"

Filename=$1

[ -z ${Filename} ] && echo Filename cannot be empty && exit -1

[ -e ${Path_1}/${Filename} ] && echo Found ${Filename} under ${Path_1} && exit 0
[ -e ${Path_2}/${Filename} ] && echo Found ${Filename} under ${Path_2} && exit 0

echo ${Filename} cannot be found under ${Path_1} and ${Path_2} && exit -1

你自己是怎么找到答案的?试着用谷歌搜索
“bash file exists”
我也需要更改filename的值。对吗?不需要修改脚本中的文件名。filename是脚本的第一个参数,用法:
/script filename