Eut*_*rpy 4 unix bash shell-script ubuntu
我需要编写一个 shell 脚本,该脚本只有从当前登录用户的主目录运行时才能执行,并且我不知道如何从脚本本身检查它。任何帮助将不胜感激。
可以使用环境变量PWD和HOME:$PWD是当前工作目录,而$HOME是当前用户的主目录。您可以在脚本中的可执行语句之前添加以下内容:
if [ "$PWD" != "$HOME" ]; then exit; fi
Run Code Online (Sandbox Code Playgroud)
您可以选择向命令添加错误代码exit,以防调用 shell 想要检查脚本的成功或失败。
另一个有用的变量是 OLDPWD:$OLDPWD是上次目录更改之前的上一个目录。您可以使用它使脚本从任何地方运行,方法是用以下内容包围脚本:
cd "$HOME"
. . . . . .
cd "$OLDPWD"
Run Code Online (Sandbox Code Playgroud)
这假定脚本中没有其他目录更改;如果没有,则INITPWD="$PWD"先使用并返回$INITPWD。事实上,在大多数情况下,脚本将在子 shell 中运行,因此无需更改回原始目录,因为初始目录cd不会影响父 shell。
| 归档时间: |
|
| 查看次数: |
2252 次 |
| 最近记录: |