【Linux bash常用快捷键】教程文章相关的互联网学习教程文章

linux – 如果我在Google Compute Engine实例中,请检入bash【代码】

我想在bash脚本中查看我是在Google Compute Engine实例中还是在我的Linux笔记本电脑中.我该如何区分它们?解决方法:请参阅GCE文档中的Detecting if you are running in Compute Engine:$curl metadata.google.internal -i HTTP/1.1 200 OK Metadata-Flavor: Google Content-Type: application/text Date: Thu, 12 Mar 2015 14:24:47 GMT Server: Metadata Server for VM Content-Length: 22 X-XSS-Protection: 1; mode=block X-Fr...

linux – 使用BASH中的特殊字符从文件名中删除子字符串【代码】

我的目录中有一个文件列表:opencv_calib3d.so2410.so opencv_contrib.so2410.so opencv_core.so2410.so opencv_features2d.so2410.so opencv_flann.so2410.so opencv_highgui.so2410.so opencv_imgproc.so2410.so opencv_legacy.so2410.so opencv_ml.so2410.so opencv_objdetect.so2410.so opencv_ocl.so2410.so opencv_photo.so2410.so它们是批量重命名产生的一系列错误的产物,现在我无法弄清楚如何从它们中删除中间的“.so”.例...

linux – bash函数返回状态【代码】

我有一个功能function f() {command 1command 2command 3command 4 }我想函数f()以某种方式告诉我,如果4个命令中的任何一个失败,则会出现错误. 我也不想设置-e.我想要运行四个命令,即使一个命令失败. 我怎么做?对不起新手问题 – 我是新手来编写脚本.解决方法:如果我理解你正确的问题,你可以这样做:f() {err=""command 1 || err=${err}1command 2 || err=${err}2command 3 || err=${err}3command 4 || err=${err}4# do something...

linux – 我如何搜索>进入bash脚本【代码】

我正在编写一些脚本来创建目录,但我首先要确保用户插入的名称是正确的.对于这个问题,我写了类似下面的内容(FILE.txt是用户名保存的文件)if grep -q '>' FILE.txtthenecho "You should avoid inserting ">" in your code!"fi但似乎bash认为我想插入输出,所以它给出了这个错误:-sh:意外标记“newline”附近的语法错误有人有想法吗? tnx寻求帮助解决方法:问题不在于你的grep线,而在于你的回声线.你的shell认为它是:echo "You sho...

linux – Bash – 检查一个文件中的行是否存在于另一个文件中【代码】

我想知道如何检查第一列中的一行是否作为另一个文件中另一行的一部分存在.例如,如果我有以下文件: A.TXT:0000_01_000000049E 7821069312 0000_01_000000049F 7886800896 0000_01_00000004A1 8302987264 0000_01_00000004A2 8469055488 0000_01_00000004A3 8040450048 0000_01_00000004A5 8250165248 0000_01_00000004A6 8116242432 0000_01_00000004A7 8260126720 0000_01_00000004A9 6420892672 0000_01_00000004AA 1076364288 ...

linux – Bash在目录中的文件/文件中查找代码行【代码】

我怎样才能找到这条线:print("hello world)"在x / y / z目录中,文件/文件可以位于x树的任何分支中(其中目录x有许多子文件夹)解决方法:您可以使用x的父目录中的递归grep:grep -FR 'print("hello world)"' x/*

导出PATH不在linux上的bash shell中工作【代码】

例如,我输入以下命令:# PATH=$PATH:/var/test# echo $PATH........./var/test // working# export PATH接下来,我打开另一个bash shell会话,通过键入以下命令来测试导出是否有效:# echo $PATH........ // not working as in I don't see /var/test path解决方法:您只为当前的bash会话设置了PATH环境变量.您需要将行PATH = $PATH:/ var / test添加到?/ .bashrc中,以便它适用于任何bash shell. 只需运行以下命令将其放入...

linux – 如何使用bash或awk在文件中执行键字段查找?【代码】

我有点像shell脚本和awk的新手.任何人都可以建议一个更有效和优雅的解决方案,我正在做什么下面执行两个文件之间的密钥查找? 两个输入文件: 文件1 – 包含单个列键字段(server-metricname-minute):key_column server026-AckDelayAverage-00:01:00 server026-AckDelayMax-00:01:00 server026-AckSent-00:01:00 server026-DigEnvValidationLatestTime-00:01:00 server026-DigEnvValidationTimeAverage-00:01:00文件2 –...

linux – 如果文件中的字符串只包含使用Bash在另一个文件中找到的数字,那么如何替换文件中的字符串?【代码】

我想使用Bash替换以下file.csv中的所有目标实例,但仅当包含它的行还包含list.txt中找到的数字时: FILE.CSV:1,abc,target,abc 2,abc,target,abc 3,abc,target,abcLIST.TXT:1 3期望的输出:1,abc,replace,abc 2,abc,target,abc 3,abc,replace,abc我试图使用sed:sed 's/target/replace' file.csv > newfile.csv如何在list.txt中包含检查每一行的逻辑?解决方法:这是一个更适合awk的工作:awk 'BEGIN { FS=OFS="," } # set i...

linux – 如果在Bash中只有`read(2)`出现’whatis`,如何查看`read`命令的man页面?【代码】

在Ubuntu Linux 16.04 LTS上,我想看到用于读取命令的手册页,例如,将输入拆分为Bash shell中的数组. 但是,whatis命令仅显示以下信息:nlykkei@nlykkei-Ubuntu:~$whatis read read (2) - read from a file descriptor但是手册页的read(2)部分仅记录系统调用(以及相关的C函数). 如何阅读终端中使用的读命令的手册页?解决方法:read是一个bash buitin命令.请参阅:类型读取和帮助读取 如果你想看到帮助阅读手册页样式:hel...

linux – 从bash shell中的find中排除文件扩展名列表【代码】

我想为我的make文件编写一个清理例程,除了我文件夹中的必要源文件之外,它会删除所有内容.例如,我的文件夹包含具有以下扩展名的文件:.f .f90 .F90 .F03 .o .h .out .dat .txt .hdf .gif. 我知道我可以用以下方法完成此任务find . -name \( '*.o' '*.out' '*.dat' '*.txt' '*.hdf' '*.gif' \) -delete使用否定,我可以这样做:find . -not -name '*.f*' -not -name '*.F*' -not -name '*.h' -delete但是,当我尝试这样做时:find . -n...

linux – bash脚本逐行读取和echo到文件【代码】

我不能让这个脚本做我想做的事.有人可以帮助它应该逐行读取文本文件,然后将结果回显到另一个文件中.但它没有认识到空白行.因为它应该打印线,除非它是空白然后它打算打印到文件.iname = checktest while read line do if [ "$line" == "" ]; thenecho "<blank>" >> $iname2.txtelse echo "$line" >> $iname2.txt fidone <$iname.txt解决方法:bash中的变量赋值之间不能有空格.#!/bin/bashiname=checktest #Should b...

linux – bash脚本,用于创建名称从00到ff的文件夹【代码】

我想创建名称从00到ff(总共256个文件夹)的文件夹,这样每个文件夹都会有一个名称从00到ff的文件夹.我应该在终端上写什么?有什么建议吗?解决方法:printf可以将一系列数字格式化为十六进制:mkdir $(printf "%02x " {0..255})for dir in */ domkdir $(printf "$dir/%02x " {0..255}) done

Linux bash中的运算

第一种,使用((表达式))root@root:~# a=3 root@root:~# ((b=a+3)) root@root:~# echo $b 6第二种使用letroot@root:~# let "c=$a+4" root@root:~# echo $c 7使用expr表达式,注意空格和反引号root@root:~# d=`expr 4 + 3` root@root:~# echo $d 7放在$[ expression]中,这是bash的推荐的标准处理方法root@root:~# a=4 root@root:~# b=$[$a-9] root@root:~# echo $b -5在C风格的for循环中,则可以如下使用root@root:~# for((a=1,b=10;a...

linux – 谁是我的服务器上的-bash执行用户?【代码】

在我的一台服务器上,我注意到有2个活跃用户.谁是第二个用户?USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 10Feb15 127days 0.60s 0.58s -bash root pts/0 d54c40000.access 13:40 0.00s 0.19s 0.00s w显然我是执行w命令的pts / 0上的用户root. 但是谁/什么是-bash执行root用户? ps -fttty1命令给了我:UID PID PPID C STIME TTY ...