Articles of if语句

如果然后elif然后在bash中的其他语句

然后,elif,else语句,我已经编写了一个bash脚本。 我知道这是可行的,因为我可以在terminal界面中运行相同的命令,并看到它正在做我想做的事情。 然而,当我在脚本中运行它似乎总是跳转到else语句,并没有检测到任何东西。 有谁能帮忙解释一下为什么这样呢? 这是我的脚本代码: if [ -e "$1" ] then for line in `samtools view -H $1` do if [[ "$line" == *NCBI-Build-36\.1* ]] then echo "hg18" break elif [[ "$line" == *hg19* ]] then echo "hg19" break else echo "Reference was not found, manual entry required: " read ans echo "$ans" break fi […]

如何在makefile中使用导出的variables?

我在shell脚本中有一个构build文件,它有一个variablesVAR,必须被导出到一个makefile中。 在构build文件中, if [ "$arg" == "something" ]; then export VAR=$arg fi make 现在在makefile中,我需要在条件语句中使用该variables: ifeq ( $(VAR),something) CONFIGURE_OPTIONS = abcdef else CONFIGURE_OPTIONS = ghijkl endif 但是这种情况从来不以这种方式检查。 我怎样才能使用这个导出的variables?

如何在Linux bash中用条件提取csv文件的第n列?

我有一个大的zip csv.gz文件,由三列分隔'|' 喜欢这个: "s"|"1"|"fgg" "h"|"6"|"kjh" "kjxcz"|"10"|"kj" 我想提取第二列的值大于5的行。 我已经知道如何提取第二列本身,但不知道如何把条件,但提取整个行。 任何人都可以帮忙吗?

Ksh和if语句

我在C ++中做了很less的编程,而且我不太了解如何在Knoppix OS上使用KornShell(ksh)中的代码。 教授给我们的资源很less,所以很难解决。 我们上课的两本教科书大多是关于UNIX变种的命令,与ksh很less有关系。 编写一个shell脚本,它只接受一个必须是正整数的参数。 (我的第二个有两个) Ksh代码: NUMBER=$1 read -p NUMBER # Test that one argument was input. if [[ $# -ne 1 ]];then echo "Please enter an integer as an argument" exit 1 elif [[ $NUMBER -le 0 ]];then # Test value of argument is less than or equal to zero echo "Please […]

Bash oneliner与pipe道,如果条件给出错误

我试图find一个特定的进程在bash使用if条件的数量 if ps auwx | grep -v grep | grep -ic python -le 2; then echo error; else echo no_error; fi 我正在得到输出 grep: python: No such file or directory NO_ERROR 如果我使用pipe道,单线程似乎中断,如果省略pipe道,则不会抛出错误,如果使用grep的绝对path也无关紧要。如果没有pipe道,我将无法获得所需的结果。 我在这里做错了什么? 我可以在一个脚本文件中完成这个工作,将其分解成variables,然后进行比较,但是我将它作为练习来学习bash。 任何帮助是极大的赞赏。

Bash脚本定期列出文件

我有一大堆文件,64,000,我想创build一个Bash脚本,列出使用的文件的名称 ls -1 > file.txt 每4000个文件,并将结果file.txt存储在一个单独的文件夹中。 因此,每4000个文件的名称都列在存储在文件夹中的文本文件中。 结果是 folder01包含列出文件#0-#4000的file.txt folder02包含列出文件#4001-#8000的file.txt folder03包含列出文件#8001-#12000的file.txt 。 。 。 folder16包含file.txt列出文件#60000-#64000 非常感谢你提前

Bash shell'if'语句比较不同命令的输出

使用Sam Ruby给我的一个改编的例子 ,我已经调整了,所以我可以展示我想要达到的目标。 app1=$(someapp -flag | grep usefulstuff | cut -c 5-10) if [$app1 = (someapptwo -flag | grep usefulstuff | cut -c 20-25)]; then mkdir IPFolder-1 elif …blah blah fi 我可以使用grep如上所示,或者我吠叫错误的树? 还是应该看起来像这样的一些东西: app1=$(someapp -flag | grep usefulstuff | cut -c 5-10) app2=$(someapptwo -flag | grep usefulstuff | cut -c 20-25) if [$app1 = $app2]; […]

如何检查是否有在bash中提供的参数?

我想看看是否有提供的参数。 但我不知道为什么这个代码不会工作。 我究竟做错了什么? if ![ -z "$1" ] then echo "$1" fi

validation已在批处理脚本中input了数字“X”

编写批处理脚本。 如何validation“3”NUMERIC数字是由用户用“/ p”提示符input的? 提示给用户: SET /P SITEID=ENTER SITE # (ie 001 – MUST BE 3 DIGITS): 我需要validation3位数已经input,如果好继续脚本。 如果不好再提示用户给我select的消息。

Bash读取txt文件并存储在数组中

我正在编写我的第一个Bash脚本,我有一些C和C#的经验,所以我认为程序的逻辑是正确的,只是语法太复杂了,因为显然有很多不同的方法来写相同的东西! 这是脚本,它只是检查参数(string)是否包含在某个文件中。 如果是,则将文件的每一行存储在一个数组中,并将该数组的一个项目写入文件中。 我确定必须有更简单的方法来实现,但我想用bash循环做一些练习 #!/bin/bash NOME=$1 c=0 #IF NAME IS FOUND IN THE PHONEBOOK THEN STORE EACH LINE OF THE FILE INTO ARRAY #ONCE THE ARRAY IS DONE GET THE INDEX OF MATCHING NAME AND RETURN ARRAY[INDEX+1] if grep "$NOME" /root/phonebook.txt ; then echo "CREATING ARRAY" while read line do myArray[$c]=$line # store line c=$(expr […]