【发布时间】:2019-11-26 03:18:04
【问题描述】:
我想创建一个可以像 $RANDOM 一样调用的自定义变量或命令,但用于字符串。我有一个使用 /dev/urandom 创建随机字符串的脚本。每次运行脚本时,该脚本都会生成一个随机生成的字符串。
#!/bin/bash
rando=$(head -100 /dev/urandom | tr -dc a-zA-Z0-9 | fold -w 15 | head -1)
echo $rando
如果我创建一个调用脚本的别名或环境变量,它只会产生随机字符串的一种变体,直到创建新的 bash 会话。我怎样才能使它在同一个 bash 会话中创建随机字符串的新变体?
【问题讨论】:
-
在您的
.bashrc中将其包装在function 中。然后每次调用它,代码都会运行。 -
嗯?变量
$rando在您更改之前当然是相同的,但是再次调用dd等每次都会创建一个新值。或者你是在问如何围绕这段代码制作一个函数? -
RANDOM是一个特殊的内置参数;你不能定义你自己的变量,每次你展开它时它的值都会改变。 -
这也可能有效:
tr -dc a-zA-Z0-9 </dev/urandom | head -c 15 -
像@JNevill 的魅力一样工作。这完成了我想做的事情。谢谢