Shell中$0,$?,$!等的特殊用法:让你的脚本更灵活高效

这个变量可以让你在脚本中获取当前脚本自身的文件名。这时候就可以使用$0来获取当前正在执行的脚本名称。在输出语句中直接获取了当前正在执行的shell脚本文件名。

  • 本文目录导读:
  • 1、<a href="#id1" title="$?“>$!
  • 2、标签
  • 3、^zhengzejstangdeabiaoqian$
  • 4、^zhengzejstangdeabiaoqian$

$0

在Shell编程中,$0是一个非常有用的变量。它代表当前执行的脚本文件名。这个变量可以让你在脚本中获取当前脚本自身的文件名。

在实际开发过程中,我们经常需要知道我们正在运行哪个脚本,这时候就可以使用$0来获取当前正在执行的脚本名称。

例如,我们有一个shell脚本文件test.sh:

“`

#!/bin/bash

echo “The script name is $0”

当我们运行该脚本时,将会输出以下结果:

The script name is ./test.sh

通过使用$0变量,在输出语句中直接获取了当前正在执行的shell脚本文件名。

$?

在Shell编程中,$?是一个非常有用的变量。它代表上一条命令或者函数返回值。这个变量可以让你判断上一条命令或函数是否成功执行,并根据不同情况做出相应处理。

例如,在Linux系统下面使用rm命令删除文件时:

rm /tmp/test.txt

if [ $? -eq 0 ]

then

Shell中$0,$?,$!等的特殊用法:让你的脚本更灵活高效

echo “File deleted successfully.”

else

echo “Failed to delete file.”

fi

如果删除操作成功,则输出”File deleted successfully.”;如果失败,则输出”Failed to delete file.”。

$!

在Shell编程中,$!是一个非常有用的变量。它代表最后一个后台进程的PID(进程ID)。这个变量可以让你在脚本中获取最后一个后台进程的PID,以便对其进行相应处理。

例如,在Linux系统下面使用nohup命令启动一个长时间运行的程序:

nohup ./long_running_program &

echo “The PID of long_running_program is $!”

The PID of long_running_program is 1234

通过使用$!变量,在输出语句中直接获取了最后一个后台进程的PID。

在Shell编程中,$0、$?和$!都是非常有用的特殊变量。它们可以让你更加灵活地控制和管理你的shell脚本。通过合理地利用这些特殊变量,你可以写出更加高效、健壮和可维护性更好的Shell脚本。

标签

Shell, Shell编程, $0, $?, $!