shell中的 set A = 'basename $CMD'是什么意思
时间: 2024-05-23 22:11:33 浏览: 10
这个命令的作用是将变量 A 设置为变量 CMD 中所包含的路径的基本名称(即去掉路径前缀和后缀后的文件名部分)。具体来说,`basename` 命令是一个用于提取文件名的命令,它可以通过给定一个文件路径作为参数,来输出该文件路径中的文件名部分。而 `$CMD` 则是一个变量,表示要处理的文件路径。这个命令的含义可以理解为:将变量 A 设置为变量 CMD 所包含的路径的基本名称。
相关问题
filename=`basename $file | awk '{print $1 }' FS=\\. ` 是什么意思
这段代码的作用是获取文件名去掉后缀的部分,其中:
- `basename $file`:获取文件的基本名称,去掉路径部分。
- `awk '{print $1 }' FS=\\.`:使用 `.` 作为分隔符,将文件名分成多个字段,并且选取第一个字段作为输出结果。
举个例子,如果 `$file` 的值为 `/path/to/file.txt`,那么这段代码的输出结果就是 `file`。
#!/bin/bash option="${1}" case ${option} in -f) FILE="${2}" echo "File name is $FILE" ;; -d) DIR="${2}" echo "Dir name is $DIR" ;; *) echo "`basename ${0}`:usage: [-f file] | [-d directory]" exit 1 # Command to come out of the program with status 1 ;; esac
这段代码是一个 Bash 脚本,它使用 case 语句来解析命令行参数,并根据参数执行不同的操作。具体来说,它支持两个命令行选项:
- -f file:指定一个文件名,脚本将输出该文件名;
- -d directory:指定一个目录名,脚本将输出该目录名。
如果用户提供了其他选项或者没有提供任何选项,则脚本将输出用法信息,并以状态码 1 退出。
下面是对这段代码每一行的解释:
1. `#!/bin/bash`:指定脚本使用 Bash 解释器。
2. `option="${1}"`:将第一个参数存储在变量 `option` 中。
3. `case ${option} in`:开始一个 case 语句,根据 `${option}` 的值执行不同的分支。
4. `-f)`:第一个分支,`${option}` 的值为 `-f`。
5. `FILE="${2}"`:将第二个参数存储在变量 `FILE` 中。
6. `echo "File name is $FILE"`:输出文件名。
7. `;;`:分支结束。
8. `-d)`:第二个分支,`${option}` 的值为 `-d`。
9. `DIR="${2}"`:将第二个参数存储在变量 `DIR` 中。
10. `echo "Dir name is $DIR"`:输出目录名。
11. `;;`:分支结束。
12. `*)`:默认分支,当 `${option}` 的值不是 `-f` 或者 `-d` 时执行。
13. `echo "`basename ${0}`:usage: [-f file] | [-d directory]"`:输出用法信息。
14. `exit 1`:以状态码 1 退出程序。
15. `;;`:分支结束。
16. `esac`:case 语句结束。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)