我什么都没放 揍,就是在我进入Python的美好世界时,我已经忘记了另一个对我有很大帮助的朋友
正如标题所示,在这里我向Bash爱好者添加了一些东西……我将向您展示如何使用以下方法检查系统中是否存在文件或文件夹: if
我们将创建一个.sh文件并为其授予执行权限,为此,只需在终端中放置以下命令即可:
触摸test.sh && chmod + x test.sh
这是创建文件(触摸test.sh),还授予您执行权限(chmod + x test.sh)
然后,在其中写入以下内容:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
这是什么
简单😀
第一行-» 如果[-d / opt /];
在这里,我们问/ opt /目录是否存在? 是目录/文件夹,因为 -d 表示目录或文件夹。
然后,如果有的话,我们将在终端«是的,它确实存在。»(这是第2和3行)
否则/ opt /不存在,那么我们将打印«不,它不存在»(第4和5行)
然后在最后一行(数字6)中,关闭if和仅此而已。
做测试,它将显示/ opt /确实存在。
如果要我向您显示其他文本(不存在的文本),请更改/ opt /,以选择系统中不存在的任何其他文件夹,例如:/ asd /
如您所见,-d帮助我们了解目录是否存在,现在,如果我们将-d更改为-f,它将检查文件是否存在(-d =目录,-f =文件/文件)
例如:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
以下是选项列表:
-d -»检查某个目录是否存在
-f -»检查某个文件是否存在
-w -»检查某个文件是否具有写权限
-x -»检查某个文件是否具有执行权限。
而且,没有什么可添加的🙂
我知道这对于那些喜欢用Bash编程的人非常有用和有趣。
问候
另一种无需... if。then..else的方式:
test -f /etc/hosts && elcomando
或者也
test ! -f /etc/hosts && echo "no se encontró el archivo"
等等。
对😀
…O_O…你是雨果,古巴的雨果? …使用Windows8,WTF !!!
好吧,是的,我对这个操作系统很熟悉,如果我必须坦率地说,我发现有用的唯一东西就是复制管理器,否则我个人觉得很麻烦,特别是它的混合接口和Metro应用程序。 我不喜欢Vista和7(尽管效率更高),但我也不喜欢。 我使用它的唯一目的就是玩NFS13和Skyrim,但是此OS占用了太多空间,因此我不得不删除Linux分区[snif]。
但是,为了让您省心,我要提到的是,前天我下载了86月的Arch ISO,并且计划在获得回购协议后立即尝试使用x64-XNUMX版本的Arch ISO(您会拥有它吗?)。 现在,如我所见,它默认情况下使用签名的程序包,它使我有更多的信心去研究。
我父亲还告诉我,他将给我寄送Sony Xperia,我想用它来学习一些Android编程技巧,这是一个未完成的愿望。 如此冷静,我还没有走到力量的阴暗面,buahahahaha😉
人测试
当然。
Wenas!..
我们可以做同样的一个....但是目录作为参数传递..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
我们称其为:
./test.sh / opt /
问候语
如果不是周期xD
它就像我正在做脚本的手套一样适合我。 使用通配符有效吗? 例如,要查找是否有任何.mp4,然后在其上运行某些内容。
如果[-f * .mp4];
...
是的,这是完全有效的..
即使通过参数..“ * .mp4”
例如:
if [ -f $1 ];
then
rm -r $1
else
ls
fi
如果您调用它:./test.sh * .mp4
如果找到.mp4文件,则会将其删除... ...但不会列出该目录中的文件...
感谢您的反馈和提示! 🙂
您错过了f xD
rm -rf $ 1
这更令人兴奋!
太好了!!!!,每天我都对Linux产生了更多的爱,Windows降级到了我的硬盘驱动器的某个暗角,该硬盘将被擦除,以取代Linux。
太好了....然后下一步..把它拿出来..
大约6个月前我的所有机器上都只有GNU / Linux,我不需要更多....不是W $ ..或Wine ..而且我很高兴那样..😉
而且我正在感染周围的环境..因为每个人都可以用我的Arch快速,高效,快乐地看到我..他们要求我安装Linux .. .yeah!..😀
您还可以检查它们的各种扩展名,可以使用类似
#!/斌/庆典
目录= $ HOME /下载
如果[$目录]; 然后
echo“这是文件类型列表:”
回声“ mp1,mp2,mp3,mp4,wav,flac,flaad,aud,midi”
ls {* .mp ?, *。wav,*。fla,*。aud * .midi}
fi
使用{}可以在这种情况下使用“?”指定多个扩展名。 ,是通配符,允许您使用“任何字符”。
希望对您有帮助
我建议使用命令find [目录] [search_pattern] –exec [命令] {} \
它不起作用,我将这些文件放在目录中:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#!/斌/庆典
路径= / tmp /测试
cd $ ROUTE
ls -la | awk'{print»«$ 9}'
如果[[-f AB。文本文件]]; 然后
echo»如果有AB,请输入IF。文本文件 ”
fi
如果[-f AB20160422.TXT]; 然后
回显“特定AB文件的输入”
fi
当我把[-f AB.TXT]出现错误
当我把[[-f AB.TXT]]没有给出错误,但找不到文件
它仅在我放入特定文件时才有效,例如:
如果[-f AB20160422.TXT]; 然后
我无法使用通配符*还是?
#!/ usr / bin / env bash
#.编码= utf-8.
内容
EXIT_OK = 0
EXIT_BAD = 66
粗体=»\ 033 [1m»
NC =»\ 033 [0m»
红色=»\ 033 [31m»
如果[! “ $ 1”];
然后
回声“缺少参数”
退出$ EXIT_BAD
fi
cd“ $ 1”
文件=»ls -h1 $ 1»
$中的文件($个文件); 做
echo -e“您可以在这里使用$ BOLD $文件$ nc做任何事情”
完成
退出$ EXIT_OK
@KZ,详细介绍一下:“那是因为我正在进入Python的美好世界”!
哈哈哈哈...一点一点🙂
我仍然只是Python的新手,我几乎没有时间花很多时间来学习它,所以我很慢,很慢,但是我在学习中肯定会😀
非常感谢😀就在昨天,我在想如何做到这一点。
这与ncurses很棒great
一言以蔽之……很棒!
很长一段时间以来,我一直在完善一个脚本以从Internet下载,但是我面临的问题是下载我要求1的文件,然后又无法验证1ro的存在。
很好的兔兔。
感谢智利的巨大贡献。
每天都有更多LINUX使我感到惊喜,
万岁免费软件MIERDAAAA。
为...服务
检查文件是否来自目录
如果我想检查路径«/ tmp / receivers»中是否存在任何文件,请执行任何命令,结果如何?
我将非常感激
问候
亲爱的,并通过IF确定文件是否已完全填充???。 我问这是因为,当您填充文件进行传输时,即使只有一半的数据,它也可以接收它。
问候和感谢您的回复。
好吧,我想您还应该添加一个示例,例如“检查是否没有”,“文件”或“目录”
检查它是否不存在,例如,使用变量->
目录
#!/斌/庆典
目录=»$ HOME /测试目录»
文件=»$ HOME /测试文件»
如果[! -d“ $目录”]; 然后
回声“没有$目录”
回声“创建->“ $目录”
mkdir“ $目录”
其他
echo“ Directory” $目录“已经存在
fi
如果[! -d“ $ File”]; 然后
回声“文件$不存在”
回声“创建->“ $文件”
触摸“ $ File”
其他
回声“文件” $文件“已经存在
fi
当您稍后执行mkdir时,请检查终端是否可以创建它,因为如果它是根或系统文件夹,则它可能会损坏
问候KZKG ^ Gaara一个查询,就像我要使用curl一样。 我想知道如何从控制台ping url以查看其是否可用,例如 http://portal.com/directorio/archivo1.php file1将用于存储访问IP的位置是用于监视团队,我需要每半小时制作一次该图钉,以使我知道公共IP,因为公共IP会不时更改,并且无法通过ssh连接。
问候预先感谢你,上帝保佑你。
你好,
首先,您必须说(例如)IP变量是该文件的内容,为此,您必须:
1.下载文件
2.查看其内容并从那里获取IP
3. IP是变量
例如:
在这里,我们下载文件-»wget http://portal.com/directorio/archivo1.php -o 文件.html
然后,将其内容分配给变量:-»:$ {IP:=`cat file.html`}
..假设该文件的内容仅具有IP,如果没有,则必须使用grep,awk或head。
一旦将IP作为变量,剩下的就是世界上最简单的事情🙂
如果您愿意,请通过电子邮件给我写信(kzkggaara[at]desdelinux[dot]net)我很乐意帮助你
非常感谢kzkggaara非常感谢。
嗨,我对计算了解不多,也不知道这篇文章是否与我遇到的问题有关。
如果您读了我,我也会发表评论,即使该帖子来自一年前:
事实证明,我在桌面上创建了一个文件夹来存储一些视频。 好吧,我删除了这些视频,因为我不再需要它们了,现在这个文件夹告诉我它不存在(即使它在我的桌面上可见)。
-这是我的第一个问题:
我无法删除该文件夹。
-第二个问题,我认为更重要:
为了删除该文件夹,我放置了一个PHOTOS文件夹。 现在,当我打开“不存在”文件夹时,该文件夹为空,并且照片不存在。
如何恢复照片? 我已经在“显示隐藏的文档”文件夹中提供了该选项,但PHOTOS文件夹没有出现。
希望您知道如何解决。
谢谢。
主要有两个用户:root和your_user(例如natalia)。 他们都有个人文件夹。 your_user位于/ home中,根目录位于/(根目录)中。 通过右键单击该文件夹,可以查看它属于谁。 如果您的文件管理器使用sudo或gksu或kdesu作为根目录,具体取决于您使用的环境,请转到根目录-> root->桌面,您可能会找到照片,然后可以删除该文件夹。 当您不是文件或目录的所有者并且您没有访问权限时,一些发行版会告诉您目录/文件不存在。 如果您是所有者,并且您不是root用户,请使用sudo等操作文件管理器,然后转到根目录-> / home-> personal_folder->桌面,查看照片是否在那里以及是否可以删除文件夹。
如果这不起作用,则您将不得不从终端(控制台)上看到其他选项。
嗨,你好吗?我正在bash上工作,我想知道如何验证是否有键盘输入的目录,例如
#!/斌/庆典
阅读路线
#Enter〜/桌面
#然后我尝试浏览该目录
cd $路径
#我收到以下bash消息:cd:〜/桌面:文件或目录不存在
我的问题是,我该怎么做才能从键盘输入它并将其作为目录路径?
我怎么知道一个团体是否存在,
很好,当我按下按钮cunaguaro时,我的canaima中存在问题,它说没有文件或目录,无法解决该问题,其余的都无法打开cunaguaro,请谢谢。
如果文件名中有空格,如何在BASH中执行if?
例如:
四月data.xlsx
询问文件是否存在
卡洛斯(Carlos),像这样:
如果[[“” $ variable“ ==数据\ month \ of \ April.xlsx]]; 然后回显“匹配”; 科幻
您还可以:
如果[[“ $ variable” =='April.xlsx月份的数据]]; 然后回显“匹配”; 科幻
另一种选择:
[[“” $ Variable“ =='April.xlsx的数据]] && echo'matches'|| 回声“不匹配”
在互联网的某些黑暗区域中,他们建议使用[[]]而不是[],如果要比较数字,则:((variable> = 3))&& echo'变量大于或等于3'| | 回显“变量小于3”
因此,对于数字:
如果((数字!= 4)); 然后回显“ $ {number}不是4”; 否则回显“ $ {number}为4”; 科幻
如何编写代码以验证目录是否包含特定文本,以便能够对其进行编辑。
例如:
如果(text1)
什么都不做
其他
将text1更改为text2
一个问题,如何每15秒检查一次文件是否存在,谢谢。
你好,
这个:
如果[-w / home / Komun / Logs / ti]; 然后
找出文件是否可写。 但这是基于用户权限的。 是否可以找出该组或其他组是否具有权限?