shell脚本内,如何打印上一条命令
时间: 2023-07-05 22:31:21 浏览: 94
可以使用 `echo !!` 命令来打印上一条命令,其中 `!!` 是一个特殊的变量,表示上一条命令。例如:
```
$ ls -l
total 0
$ echo !!
echo ls -l
ls -l
```
另外,还可以使用 `history` 命令查看历史命令,然后通过 `!-1` 来执行上一条命令。例如:
```
$ history
1 ls -l
2 echo !!
3 history
$ !-1
ls -l
```
相关问题
定时执行一条命令的shell脚本
#!/bin/bash
# 每天的凌晨1点执行一条命令的脚本
# crontab -e 添加如下定时任务:0 1 * * * /bin/bash /path/to/script.sh
# 要执行的命令
command_to_execute="echo 'Hello, World!'"
# 执行命令
eval $command_to_execute
# 记录日志
echo "Command executed at $(date)" >> /var/log/command.log
# 结束脚本
exit 0
shell判断上一条命令是否执行成功
在 Shell 脚本中,你可以使用 `$?` 变量来判断上一条命令是否执行成功。当命令成功执行时,`$?` 的值为 0;当命令执行失败时,`$?` 的值为非零。
下面是一个示例,展示了如何判断上一条命令是否执行成功:
```shell
#!/bin/bash
# 执行一个命令
ls
# 判断上一条命令是否执行成功
if [ $? -eq 0 ]; then
echo "Command executed successfully."
else
echo "Command failed to execute."
fi
```
在上面的示例中,`ls` 命令执行完毕后,通过判断 `$?` 的值来确定上一条命令是否执行成功。如果 `$?` 的值等于 0,则输出 "Command executed successfully.";否则输出 "Command failed to execute."。
你可以根据实际需求,将需要判断的命令放在 if-else 结构中,并根据 `$?` 的值来执行相应的操作。