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,$?,$!等的特殊用法:让你的脚本更灵活高效缩略图 Shell中$0,$?,$!等的特殊用法:让你的脚本更灵活高效](https://www.72715.net/wp-content/uploads/2023/05/773650ea820f2c19436b040db1be849a.png)
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, $?, $!