避免重复Bash中的变量设置
在这里bash newbie!我如何避免重复“ passgen = $(</dev/dev/urandom tr -dc _a-zaz-0-9 | head -c12)”?
sqlite variables.db "create table passwords (name TEXT PRIMARY KEY, value TEXT);"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('BOOKSTACK_MYSQL_ROOT', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('BOOKSTACK_MYSQL', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('BORG_PASSPHRASE', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('CODE_SERVER_PASS', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('CODE_SERVER_SUDO_PASS', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('EXPORTARR_TOKEN', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('FLAME_PASS', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('FLIGHTAIRMAP_INSTALL_PASS', '$PASSGEN');"
Bash newbie here! How do I avoid repeating the "PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)" each time in this bash script excerpt?
sqlite variables.db "create table passwords (name TEXT PRIMARY KEY, value TEXT);"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('BOOKSTACK_MYSQL_ROOT', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('BOOKSTACK_MYSQL', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('BORG_PASSPHRASE', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('CODE_SERVER_PASS', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('CODE_SERVER_SUDO_PASS', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('EXPORTARR_TOKEN', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('FLAME_PASS', '$PASSGEN');"
PASSGEN=$(</dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12)
sqlite variables.db "insert into passwords (name,value) values ('FLIGHTAIRMAP_INSTALL_PASS', '$PASSGEN');"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一个简单的解决方案是编写一个函数:
然后,您的代码段变为:
A simple solution would be to write a function:
Then, your code snippet becomes:
一种方法是将循环用于表插入。尝试此 shellCheck -clean代码:
passgen
替换passgen
。One way to do it is to use a loop for the table insertions. Try this Shellcheck-clean code:
PASSGEN
withpassgen
.