📜  Linux Dollar问号(1)

📅  最后修改于: 2023-12-03 14:43:55.046000             🧑  作者: Mango

Linux Dollar 问号

Linux Dollar 问号是指在 Linux 系统下,以 $ 和 ? 为标志的命令行操作符。在程序员的开发生涯中,它们经常出现在命令行和脚本中。

$ 符号

$ 符号是用来表示 shell 变量或环境变量的值。它可以用于命令行上的各种操作中,例如:

  • 显示当前目录:echo $PWD
  • 显示当前用户:echo $USER
  • 运行脚本:./script.sh $arg1 $arg2
  • 使用命令行参数:echo $1

在命令行中,使用 $ 符号来引用变量或环境变量的值,或者将其作为参数传递给其他命令。

#!/bin/bash
echo "Hello, $USER! The current directory is $PWD."

在上面的示例中,$USER 和 $PWD 变量将被解释为当前用户和当前目录。

? 符号

? 符号通常用于 shell globbing 中,表示 0 或 1 个匹配字符。它也可以用于捕获 shell 命令的返回值。

例如,你可以使用以下命令来列出当前目录下名字以 "file-1" 开头的所有文件:

ls file-1?

在这个命令中,? 表示只允许一个字符来匹配任何名称开头为 "file-1" 的文件。

你也可以使用 $? 来获取命令的返回值。在 shell 中,命令的返回值表示命令执行的成功或失败状态。如果命令成功执行,则返回值为 0,如果失败,则为非零值。

rm file-1.txt
if [ $? -eq 0 ]; then
  echo "The file was successfully deleted."
else
  echo "There was an error deleting the file."
fi

在这个示例中,如果 rm 命令成功删除 file-1.txt 文件,则 $? 将返回 0,否则返回非零值。这个值被用于判断命令执行的结果,并输出相应的消息。

总结

Linux Dollar 问号是 Linux 开发中经常会遇到的命令行操作符,$ 符号用于引用变量或环境变量,? 符号用于匹配shell globbing 和获取命令返回值。熟练掌握这些符号可以让开发者更加高效地处理命令行任务。