【问题标题】:How to change a files permissions through a prompt using bash scripting如何使用 bash 脚本通过提示更改文件权限
【发布时间】:2020-05-12 07:19:14
【问题描述】:

刚开始学习如何编写脚本,我正在尝试制作一个循环脚本,该脚本将自动更改所请求文件的权限,并再次询问用户是否要更改其他文件的权限。到目前为止,这就是我所拥有的,尽管我不完全确定如何完全使循环工作。

#!/bin/bash
until "$input"=no
do
    echo "Enter the name of file to change permissions"
    read filename
    chmod 777 $filename
    echo "$filename permissions has been changed"
    echo "Would you like to change the permissions of another file?(yes or no)"
    read $input
done
    echo "You typed: $input"

【问题讨论】:

  • 使用[ "$input" = 'no' ] 代替"$input"=no,引用$filename 并将$read $input 中删除。或者只是阅读有关循环和条件结构的教程
  • 您应该使用运行代码的结果更新您的问题;例如,对于当前代码,我猜你会收到类似-bash: =no: command not found 的消息,而这又是由 oguz 的评论解决的;下一个问题可能是您的“读取”命令……您有其中 2 个,但其中一个错误地引用了存储响应的变量(提示:尝试通过 shellcheck 运行您的代码以验证您的语法);那么有(至少)一个逻辑错误......如果用户输入一个无效/不存在的文件名会发生什么?
  • 太棒了,谢谢! oguz 的建议帮助并修复了它!

标签: bash terminal scripting permissions


【解决方案1】:

感谢 oguz 的 anwser 我解决了我的问题,使用 [ "$input" = 'no' ] 而不是 "$input"=no,引用 $filename 并从读取 $input 中删除该 $。或者只是去阅读有关循环和条件结构的教程

【讨论】:

    猜你喜欢
    • 2017-10-23
    • 2014-09-16
    • 1970-01-01
    • 2013-09-17
    • 2012-11-14
    • 1970-01-01
    • 2012-12-22
    • 2022-10-23
    • 2016-10-07
    相关资源
    最近更新 更多