当把字符串输入给shell脚本的时候,注意是以空格作为分隔符,如果字符串本身就有空格的话,那么用双引号或者单引号,比如 #/bin/bashecho"$1is pretty nice!" 运行如下: ./peng.sh 一口Linux 结果如下: 实例3 #!/bin/shecho"参数个数:$#"echo"脚本名字:$0"echo"参数1:$1"echo"参数2:$2"echo"所有参数列...
$*会把所有的参数解释成一个单词(单个字符串),即每个参数之间不会加上空格,全部组合成一个字符串,用"IFS"(默认是空格)分隔。所以,将*放在双引号里,预处理$符号,保持长字符串的完整性: #!/bin/bashecho "Using \$*:" for arg in "$*"; do echo $arg done $@会把所有的参数看成是独立的单词(多个独...
当把字符串输入给shell脚本的时候,注意是以空格作为分隔符,如果字符串本身就有空格的话,那么用双引号或者单引号,比如 #/bin/bash echo "$1 is pretty nice!" 运行如下: ./peng.sh 一口Linux 结果如下: 实例3 #!/bin/sh echo "参数个数:$#" echo "脚本名字:$0" echo "参数1:$1" echo "参数2:$2...
实例2 当把字符串输入给shell脚本的时候,注意是以空格作为分隔符,如果字符串本身就有空格的话,那么用双引号或者单引号,比如 #/bin/bash echo"$1is pretty nice!" 1. 2. 运行如下: ./peng.sh 一口Linux 1. 结果如下: 实例3 #!/bin/sh echo"参数个数:$#" echo"脚本名字:$0" echo"参数1:$1" echo...
我们可以发现,即使字符串World和变量之间不需要空格,脚本执行的时候也可以正常引用变量。 ${}的进阶使用 ${}的用法可不仅仅只是引用一下变量,它还具备着比较强大的文本处理功能,需要注意的是经过处理后得到的文本并不会改动到原有变量的值。 (1)字符串索引截取 ...
echo ${var: -5} #注意区分,中间有空格,提取最后五个字符,结果:fq.gz echo ${var:-5} #结果:/home/test/dir1/dir2/V3_L01_99_2.fq.gz,为啥值等于$var,下面部分有解释 echo ${var:(-5)} #注意上面三者的区分,结果:fq.gz 3)${}查找替换和删除 ...
1.()只是对一串命令重新开一个子进程进行执行 {}是在当前进程执行 2.()和{}内的命令都是以;隔开 ()最后一个命令可以不用分号; {}最后一个分号需要 3.()第一个命令不需要和括号间有空格 {}第一个命令和左边的括号间有空格 对于1: $ var=10 $ (var=20;echo $var) 20 $ echo $var 10 说明()...
$*:表示所有参数作为单独的字符串展开,每个参数之间用一个空格分隔。 例程: hann@HannYang:~$ more sum3.sh#!/bin/bashfunction special_vars() {echo "Current PID \$: $$"echo "Number of arguments #: $#"echo "All arguments (as a single string) @: $@"echo "All arguments separated by space...
这样我们能看到提示符了,注意第一个和第二个区别是 $ 后面有没有一个空格,我希望你自己动手看看效果,我这里就不贴图了。 2.4. 试试PS1="\a\$ " 设置完后试试按键盘上不同的键,特别是 delete 和 enter ,注意到有提示音了吗? 2.5. 更丰富的 shell 提示符 ...
1.传递参数时,使用空格分隔不同的参数。 2.在使用位置参数时,可以使用特殊变量$#来获取传递的参数数量。 3.在使用命名参数时,可以使用默认值来处理未指定的选项。 4.在处理多个选项时,可以使用循环结构来读取和处理选项。 5.在使用选项时,需要注意选项的大小写。通常情况下,选项都是大小写敏感的,因此需要使用正...