Linux shell脚本中特殊字符含义有哪些
Linux
今天小编介绍Linux的电脑小知识,下面为详细的介绍。
在Linux Shell脚本中,预定义了一些特殊参数,它们分别代表不同的含义和返回值,下面逐一进行总结。
1. 【$0】:脚本名
$0返回当前执行的shell脚本的名称。
2.【1-9】:命令行参数1到9
$1-$9这9个分别代表脚本执行命令第一个参数、第二个参数、第三个参数……第9个参数。
例如,假设我们有一个名为 test.sh 的Shell脚本,它的内容如下:
#!/bin/bash
echo "Script name: $0"
echo "First argument: $1"
echo "Second argument: $2"
在运行脚本时,我们可以给它传递两个参数,比如:
./test.sh hello world
这时候脚本会输出:
Script name: test.sh
First argument: hello
Second argument: world
说明代表脚本名,1 代表第一个参数,$2代表第二个参数。
3.【 $#】:参数个数
它表示所有参数的个数。
#!/bin/bash
echo "Number of arguments: $#"
运行脚本./test.sh hello world,输出Number of arguments: 2
4. 【$*】:所有参数
$*表示所有参数。
#!/bin/bash
echo "All arguments: $*"
运行脚本./test.sh hello world,输出All arguments: hello world
5. 【$@】:所有参数
$@也表示所有参数:
#!/bin/bash
echo "All arguments: $@"
运行脚本./test.sh hello world,输出All arguments: hello world
上面$*和$@都是用来获取所有脚本参数的特殊变量。它们之间的区别在于,如何将参数作为单个字符串或多个独立字符串进行处理。
$*会把所有的参数解释成一个单词(单个字符串),即每个参数之间不会加上空格,全部组合成一个字符串,用IFS(默认是空格)分隔。所以,将*放在双引号里,预处理$符号,保持长字符串的完整性:
#!/bin/bash
echo "Using \$*:"
for arg in "$*"; do
echo $arg
done
$@会把所有的参数看成是独立的单词(多个独立的字符串),即每个参数之间加上空格,将每个参数作为一个独立的字符串处理。
#!/bin/bash
echo "Using \$@:"
for arg in "$@"; do
echo $arg
done
下面我们可以通过一个示例来理解两者的区别。假设我们有一个shell脚本,名为 test.sh 并拥有以下内容:
#!/bin/bash
echo "Using \$*:"
for arg in "$*"; do
echo $arg
done
echo "Using \$@:"
for arg in "$@"; do
echo $arg
done
相关阅读
-
u盘电脑做系统教程怎么做 3分钟制作系统u盘的小技巧
本文导读:u盘电脑做系统教程怎么做和3分钟制作系统u盘的小技巧的内容,相关内容具体如下: 我看好多网友私信给我截图发的还有留言问我如何将u盘制作成启动盘装系统 今天给大家详细说
-
u盘pe启动盘制作教程 制作pe系统u盘装系统详细步骤
今日重点为您介绍u盘pe启动盘制作教程和制作pe系统u盘装系统详细步骤的电脑小知识,一起来看看吧! 以前电脑系统重装技术没现在发达的时候,重装系统的主要方法都是使用光盘去给系统重
-
win10怎么设置win7主题 win10主题更换为win7主题
文章摘要:win10主题更换为win7主题的方法内容,关于win10怎么设置win7主题 win10主题更换为win7主题,下面为详细的介绍。 不少的IT袋用户更新了win10系统以后,觉得没有win7的主题好看,那么我们
-
win10强制关机教程 win10关机关不掉要强制关机
为关注IT袋网的网友们详解win10强制关机教程的内容,关于win10强制关机教程 ,很不错的方法小知识,建议收藏哦! 不少的IT袋用户在玩电脑的时候都会遇到死机的情况,这个时候就需要将电脑


