-s 和 -p 如何改变读取命令?

2024-04-17

我正在尝试解释这段代码。搜索谷歌看看这些命令的含义,但没有运气。我把我对每一行/块对我意味着什么的解释。如果我错了,请纠正我。我是 unix 命令新手。代码:

#!/bin/bash    

# input 1st command line argument for the version.  
export VERSION=$1

# if user didn't input a version, print the echo message and exit (not sure what -n means but I am assuming)
if [[ ! -n "$VERSION" ]]; then
    echo "Missing Version"
    exit 1
fi

# creating variable UNAME that tells who the person is (their name)
export UNAME='whoami'

# no idea what -s and -p mean but i think this prints the message "enter password for $UNAME" and stores it in a new variable named PASSWORD. the $UNAME will print whatever whoami said.
read -s -p "Enter password for $UNAME: " PASSWORD
echo ""

-p 标志在将输入读入变量之前发出提示

-s 标志阻止显示键入的响应(即对于敏感密码)

更多信息请点击这里:

https://linuxhint.com/bash_read_command/ https://linuxhint.com/bash_read_command/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

-s 和 -p 如何改变读取命令? 的相关文章

  • pthread_join() 中的阻塞

    根据手册页 pthread join 函数应暂停调用的执行 线程直到目标线程终止 除非目标线程 已经终止了 因此 据我了解 调用进程将阻塞 直到指定的线程退出 现在考虑以下代码 pthread t thrs NUMTHREADS for i
  • Python 套接字库认为套接字未打开时已打开

    我正在使用一些Python 如下所示 HOST 127 0 0 1 PORT 43434 single socket socket socket AF INET socket SOCK STREAM try single bind HOST
  • GDB/bin/bash 无法在 Eclipse CDT 中执行应用程序?

    在 Mac OS X Mojave 上使用 Eclipse CDT 运行 GDB 时遇到困难 当我尝试调试项目时 GDB 表现得很混乱 我能够调试几次 但随后它在下一个调试会话开始时开始停止 并显示消息 配置 GDB 可执行文件是 User
  • Unix 上的常规文件是什么

    我看到了手册页test http pubs opengroup org onlinepubs 009695399 utilities test html 其中提到了下面的内容 e pathname True if pathname reso
  • 如何以非交互方式指定“psql”的密码?

    我正在尝试使用 shell 脚本自动执行数据库创建过程 但我遇到了向其传递密码的障碍psql https en wikipedia org wiki PostgreSQL Database administration 下面是 shell
  • 如何编写写入 /var/log/myapp 目录的 C/C++ 应用程序?

    背景 在 Linux 系统上 应用程序日志 https help ubuntu com community LinuxLogFiles Application Logs存在于子目录中 var log 其所有者为root root并且在我的系
  • bash:从数组中删除变量? [复制]

    这个问题在这里已经有答案了 bin bash tank one two three x two unset tank x echo tank 我想从数组中删除 x 但不知何故它删除了数组的第一个元素 我该如何解决这个问题 您有一个索引数组
  • 不同 Perl 安装造成的混乱

    我尝试升级 Perl 却把我的电脑搞得一团糟 我目前运行的是 RHEL6 5 64 位 事情是这样的 我安装了 perl 5 10 1 并且运行良好 这是安装好的 我可以从百胜看到它 我想安装 Padre 一个 Perl IDE 但这至少需
  • 使用 Vagrant 配置机器并在脚本停止处拾取时是否可以重新启动机器?

    我正在阅读 bash 中的教程 其中他们说重新启动机器 没有直接重新启动服务的选项 这是重新启动机器的问题 然后还有更多命令在配置时仍然需要运行 那么有没有办法在配置过程中重新启动盒子 然后从上次中断的地方继续进行呢 据我所知 如果尝试重新
  • 如何设置PS1使git和conda都可以在bash中显示?

    我的 bashrc show a short way shortwd num dirs 3 pwd symbol newPWD PWD HOME if echo n newPWD awk F print NF gt num dirs the
  • 哪个信号被传递到信号处理程序中死锁的进程

    我有一个来自调用信号处理程序后死锁的进程的核心转储 如何确定传送了哪个信号以及是谁发送的 GDB 为接收信号的线程生成的回溯如下 信号处理程序在第 15 帧中被调用 gdb bt 0 0x00007fa9c204654b in sys fu
  • 如何在没有 root 访问权限的情况下在 Ubuntu 上安装 Google Test?

    我正在尝试根据以下方式安装 Google Test这个答案 https stackoverflow com a 21314020 6560773在没有 root 访问权限的 Ubuntu 上 因为我需要在工作中学习和使用它 设法在我自己的用
  • 获取后台进程的退出代码

    我有一个从我的主 bourne shell 脚本中调用的命令 CMD 该命令需要很长时间 我想修改脚本如下 作为后台进程并行运行命令 CMD CMD 在主脚本中 有一个循环每隔几秒监视生成的命令 该循环还向标准输出回显一些消息 指示脚本的进
  • 产生并处理软件中断

    有人可以告诉我如何在Linux下生成软件中断然后用request irq处理它吗 或者也许这是不可能的 您可以使用软中断来代替 您可以通过编辑 include linux interrupt h 来定义您的 sofirq 然后使用函数 ra
  • 使用 git-svn 时模拟 subwcrev

    我使用 git svn 与包含一些 C 项目的现有 SVN 存储库进行交互 subwcrev exe 用作预构建事件来更新 C 标头 svnversion h 中的某些字符串 这些字符串被硬编译以形成生成的二进制文件的一些版本信息 由于 s
  • c 中的分叉和管道过程

    所以我有一个项目要做 但我完全被难住了 我花了十个小时却一无所获 我并不是特别想要答案的代码 但是一些伪代码和正确方向的良好提示将有帮助 它分叉多个进程 k 命令行参数 通过管道连接 每个进程都连接到下一个进程 最后一个进程连接到第一个进程
  • Java Linux 非阻塞套接字超时行为

    我有一个 Java 非阻塞服务器 它跟踪选择器中的所有套接字通道 然后我与服务器建立 500 个连接并定期发送数据 服务器接收到的每条数据都会回显给客户端 问题来了 测试工作了几个小时 然后突然逐渐地 服务器管理的所有套接字在尝试读取数据时
  • 在 docker windows 上运行 linux 容器

    我在 Windows 10 机器上安装了 Docker for Windows 它要求我启用 HyperV 功能 一切都安装正确并且运行良好 虽然有一件事让我大吃一惊 我实际上能够在 docker windows 上运行 Linux 容器
  • 为什么我的 Linux 应用程序引入了错误的 .so 库?

    我正在构建一个使用 NetCDF C 库的应用程序 并且 NetCDF 正在引入 HDF 4 库 然而 它正在拉动wrongHDF 4 库 我的应用程序的链接方式如下 apps1 intel bin icpc gxx name apps1
  • x86-64 上这个语句有什么问题?

    该函数的目的是获取堆栈的起始地址 unsigned long find start void asm movq rsp eax 当我编译它时 出现错误 Error suffix or operands invalid for movq mo

随机推荐