首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >bash :使用其他变量或输入重新运行程序

bash :使用其他变量或输入重新运行程序
EN

Stack Overflow用户
提问于 2017-09-25 22:00:35
回答 2查看 200关注 0票数 0

我编写了一个代码来创建一个单词列表,我想知道如何让它使用第一个字符大写来运行$var1输入!

基本上,我想使第一个字符大写,生成两个输出,例如:字符1.txtCharacter2.txt。

做了一些搜索,但没有发现任何有用的东西,也许我们可以通过一个If语句或循环来实现它。还不太确定!

看一看代码:

代码语言:javascript
运行
复制
#!/bin/bash -   
#title          :wordlist_creator.sh
#description    :Feito para ajudar na criação de lista personalizadas direcionadas à alvos precisos.
#author         :Henrique Silva
#date           :2017-09-25
#version        :v2     
#usage          :./wordlist_creator.sh
#notes          :       
#bash_version   :4.4.12(1)-release
#============================================================================

read -p "Digite a letra: " var1

var2=${#var1}

printf "***************************** Adiciona um novo caracter na letra ****************************\n\n*"
var01=$((var2 + 1))
crunch $var01 $var01 -t $var1% -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var01 $var01 -t %$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var01 $var01 -t $var1^ -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var01 $var01 -t ^$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 

printf "***************************** Adiciona 2 novos caracters na letra ****************************\n\n*"
var3=$((var2 + 2))
crunch $var3 $var3 -t $var1%% -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var3 $var3 -t %%$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var3 $var3 -t $var1^% -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var3 $var3 -t %^$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var3 $var3 -t $var1^^ -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var3 $var3 -t ^^$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 

printf "***************************** Adiciona 3 novos caracters na letra ****************************\n\n*"
var4=$((var2 + 3))
crunch $var4 $var4 -t $var1%%^ -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $var1%^% -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $var1^%% -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $var1^^% -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $var1^%^ -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $var1%^^ -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $var1%%% -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $var1^^^ -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t %%^$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t %^%$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t ^%%$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t ^^%$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t ^%^$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t %^^$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t %%%$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t ^^^$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 

printf "***************************** data de aniversário em YYYY  ****************************\n\n*"
var5=$((var2 + 4))
crunch $var5 $var5 -t %%%%$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var5 $var5 -t $var1%%%% -o Wordlist$(date +'%d-%m-%Y-%s').txt 
var6=$((var2 + 5)) 
crunch $var6 $var6 -t %%%%^$var1 -o Wordlist$(date +'%d-%m-%Y-%s').txt 
crunch $var6 $var6 -t $var1^%%%% -o Wordlist$(date +'%d-%m-%Y-%s').txt 

printf "***************************** Aguarde um pouco =D / organizando e juntando os arquvos  ****************************\n\n*"

if [ -d $var1 ]; then
    printf "***************************** Diretório já existe! ****************************\n\n*"   
else
    mkdir -p -v $var1/
fi

cat Wordlist* /usr/share/wordlists/fern-wifi/common.txt /usr/share/wordlists/fasttrack.txt > $var1/$var1-wordlist-$(date +'%d-%m-%Y-%H-sec%S').txt
sleep 10
rm Wordlist*
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-26 05:20:02

tr、sed和awk可以用来创建一个相同的字符串变量,但是第一个字母可以在上面显示,但下面是bash的一种方法:

var1="character1.txt"; var2="${var1^}"

代码语言:javascript
运行
复制
var1: character1.txt
var2: Character1.txt
票数 0
EN

Stack Overflow用户

发布于 2017-09-27 04:06:24

完成代码后,我是如何使用@Philipp Hoehn kingphilippiii给出的insites实现的:

代码语言:javascript
运行
复制
#!/bin/bash -   
#title          :wordlist_creator.sh
#description    :Feito para ajudar na criação de lista personalizadas direcionadas à alvos precisos.
#author         :Henrique Silva
#date           :2017-09-27
#version        :v3     
#usage          :./wordlist_creator.sh
#notes          :       
#bash_version   :4.4.12(1)-release
#============================================================================

read -p "Digite a letra: " input

lnum=${#input} # transforma em números e conta, qtd car//

function mkword_list {

printf "***************************** Adiciona um novo caracter na letra ****************************\n\n*"
var1=$((lnum + 1))
crunch $var1 $var1 -t $input% -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var1 $var1 -t %$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var1 $var1 -t $input^ -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var1 $var1 -t ^$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 

printf "***************************** Adiciona 2 novos caracters na letra ****************************\n\n*"
var3=$((lnum + 2))
crunch $var3 $var3 -t $input%% -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var3 $var3 -t %%$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var3 $var3 -t $input^% -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var3 $var3 -t %^$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var3 $var3 -t $input^^ -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var3 $var3 -t ^^$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 

printf "***************************** Adiciona 3 novos caracters na letra ****************************\n\n*"
var4=$((lnum + 3))
crunch $var4 $var4 -t $input%%^ -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $input%^% -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $input^%% -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $input^^% -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $input^%^ -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $input%^^ -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $input%%% -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t $input^^^ -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t %%^$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t %^%$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t ^%%$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t ^^%$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t ^%^$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t %^^$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t %%%$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var4 $var4 -t ^^^$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 

printf "***************************** data de aniversário em YYYY  ****************************\n\n*"
var5=$((lnum + 4))
crunch $var5 $var5 -t %%%%$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var5 $var5 -t $input%%%% -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
var6=$((lnum + 5)) 
crunch $var6 $var6 -t %%%%^$input -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 
crunch $var6 $var6 -t $input^%%%% -o W0rdlist$input$(date +'%d-%m-%Y-%s').txt 

} 

mkword_list     # minusculo
input=${input^} 
mkword_list     # maiusculo

printf "***************************** Aguarde um pouco =D / organizando e juntando os arquvos  ****************************\n\n*"

if [ -d $input ]; then
    printf "***************************** Diretório já existe! ****************************\n\n*"   
else
    mkdir -p -v $input/
fi

cat W0rdlist* /usr/share/wordlists/fern-wifi/common.txt /usr/share/wordlists/fasttrack.txt > $input/$input-wordlist-$(date +'%d-%m-%Y-%H-sec%S').txt
sleep 10
rm W0rdlist*
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46414837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档