How do I alias cd to print "c deez nuts nerd" and then execute the directory change?
Trying to play a prank on my friend who leaves his laptop open all the time.
https://redd.it/15t0uv9
@r_bash
Trying to play a prank on my friend who leaves his laptop open all the time.
https://redd.it/15t0uv9
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Music sorting program
I challenged my friend to send me an entirely unorganized folder of song files. I am trying to organize this using bash, but the moon runes that is terminal speak are eluding me. Can I get some advice on how I would organize the song files into folders based on their album tag?
https://redd.it/15szpsp
@r_bash
I challenged my friend to send me an entirely unorganized folder of song files. I am trying to organize this using bash, but the moon runes that is terminal speak are eluding me. Can I get some advice on how I would organize the song files into folders based on their album tag?
https://redd.it/15szpsp
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Is there any point in migrating from ZSH to Bash?
Hi everyone, I've been using zsh for about 2+ years now & haven't had any complaints.
I recently thought of switching to Bash because of a new video "The Linux Cast" posted, but I'm not sure if it's actually worth it or just made for clickbait or something to talk about.
I'm a full-stack web developer for my job, but I've never really had to write any noscripts. I've VERY rarely had to SSH into a server, but when I have I'm pretty comfortable with the commands since I use zsh.
Is there any point in switching to Bash? I don't really use the terminal for much rather than basic stuff. I'm assuming if I ever have to write a Bash noscript, I would do it in an IDE and use a Bash shebang anyway, so not sure if there are any benefits to switching.
Thanks in advance!
https://redd.it/15t7wkg
@r_bash
Hi everyone, I've been using zsh for about 2+ years now & haven't had any complaints.
I recently thought of switching to Bash because of a new video "The Linux Cast" posted, but I'm not sure if it's actually worth it or just made for clickbait or something to talk about.
I'm a full-stack web developer for my job, but I've never really had to write any noscripts. I've VERY rarely had to SSH into a server, but when I have I'm pretty comfortable with the commands since I use zsh.
Is there any point in switching to Bash? I don't really use the terminal for much rather than basic stuff. I'm assuming if I ever have to write a Bash noscript, I would do it in an IDE and use a Bash shebang anyway, so not sure if there are any benefits to switching.
Thanks in advance!
https://redd.it/15t7wkg
@r_bash
YouTube
Why I Switched Back to Bash, And Why You Should Too
Today I talk about my recent switch away from ZSH and to Bash.
👇 PULL IT DOWN FOR THE GOOD STUFF 👇
Patreon - https://patreon.com/thelinuxcast
Paypal - https://paypal.me/thelinuxcast
Youtube - https://www.youtube.com/channel/UCylGUf9BvQooEFjgdNudoQg/join…
👇 PULL IT DOWN FOR THE GOOD STUFF 👇
Patreon - https://patreon.com/thelinuxcast
Paypal - https://paypal.me/thelinuxcast
Youtube - https://www.youtube.com/channel/UCylGUf9BvQooEFjgdNudoQg/join…
Is there zsh/fish-like autosuggestions, completions, and syntax highlighting in Bash?
Hi everyone,
I've been using ZSH for about 2 years now, but I'm thinking of migrating to Bash. Does Bash have Fish-like features such as autosuggestions, auto-completion, or syntax highlighting?
In zsh, whenever I'm looking through a directory & press `Tab`, I'm able to move through the suggested directories as well. Not sure if this is available on Bash.
Thanks in advance.
https://redd.it/15t7q2h
@r_bash
Hi everyone,
I've been using ZSH for about 2 years now, but I'm thinking of migrating to Bash. Does Bash have Fish-like features such as autosuggestions, auto-completion, or syntax highlighting?
In zsh, whenever I'm looking through a directory & press `Tab`, I'm able to move through the suggested directories as well. Not sure if this is available on Bash.
Thanks in advance.
https://redd.it/15t7q2h
@r_bash
GitHub
GitHub - zsh-users/zsh-autosuggestions: Fish-like autosuggestions for zsh
Fish-like autosuggestions for zsh. Contribute to zsh-users/zsh-autosuggestions development by creating an account on GitHub.
Operation not permitted inside ec2 but works fine on local mac
​
https://preview.redd.it/tu8hrt8hpoib1.png?width=1512&format=png&auto=webp&s=cc6088e0a1de42aefcfc5b804c5e15b8ef0c8005
I have a bash noscript that basically downloads a few files inside /tmp
Inside the exit trap hander. all I am trying to do is cleanup
The rm -rf lines give me an operation not permitted error when run inside EC2 but work fine on the mac
If I add sudo rm -rf instead, it works fine on the EC2 instance but asks for a password on my mac
How do I resolve this?
Does it have some problems with /tmp? I can see that it belongs to root user and I am running commands as ec2-user inside my ec2 instance
https://redd.it/15tpy3l
@r_bash
​
https://preview.redd.it/tu8hrt8hpoib1.png?width=1512&format=png&auto=webp&s=cc6088e0a1de42aefcfc5b804c5e15b8ef0c8005
I have a bash noscript that basically downloads a few files inside /tmp
Inside the exit trap hander. all I am trying to do is cleanup
The rm -rf lines give me an operation not permitted error when run inside EC2 but work fine on the mac
If I add sudo rm -rf instead, it works fine on the EC2 instance but asks for a password on my mac
How do I resolve this?
Does it have some problems with /tmp? I can see that it belongs to root user and I am running commands as ec2-user inside my ec2 instance
https://redd.it/15tpy3l
@r_bash
LLaMA Terminal Completion, a local virtual assistant for the terminal
https://github.com/adammpkins/llama-terminal-completion
https://redd.it/15tsurv
@r_bash
https://github.com/adammpkins/llama-terminal-completion
https://redd.it/15tsurv
@r_bash
GitHub
GitHub - adammpkins/llama-terminal-completion: A Python application which interacts with the llama.cpp library to provide virtual…
A Python application which interacts with the llama.cpp library to provide virtual assistant capabilities through the command line. It allows you to ask questions and receive intelligent responses,...
find command to look for multiple files
Using bash 3.2 on a Macbook. I want to search the entire drive for files with specific names.
Thought the find command would be something like this:
find . -type f \\ (-name "test-1.2.14.rtf" -o -name "test-1.2.17.rtf" \\)
But that returns an error: unknown primary or operator.
Not sure what my mistake is.
​
https://redd.it/15txz07
@r_bash
Using bash 3.2 on a Macbook. I want to search the entire drive for files with specific names.
Thought the find command would be something like this:
find . -type f \\ (-name "test-1.2.14.rtf" -o -name "test-1.2.17.rtf" \\)
But that returns an error: unknown primary or operator.
Not sure what my mistake is.
​
https://redd.it/15txz07
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
awk conditional weirdness
awk{
x=$1
printf("%s", x);
if(x > 100){
printf("=%s", x)
}}
but the output is
5=5
https://redd.it/15u2its
@r_bash
awk{
x=$1
printf("%s", x);
if(x > 100){
printf("=%s", x)
}}
but the output is
5=5
https://redd.it/15u2its
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
home directory is spammed with temporary bash history files.
only has been a problem on fedora never happened on ubuntu(i still love fedora though). how do i fix it?
https://redd.it/15u5nk7
@r_bash
only has been a problem on fedora never happened on ubuntu(i still love fedora though). how do i fix it?
https://redd.it/15u5nk7
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Need to extract variable from prompt
When I give command kinit then it prompts me to enter the password.
[root]:Inbound> kinit
Password for username@ip_address:
I want to extract the username from the prompt that has given.
I have used set -x to achive this but it seems very primitive way
This is the noscript I am using currently.
#!bin/bash
prompt="random_gibbrish"
set -x
kinit < $prompt > $PWD/output2.txt
set +x
user=$(cat $PWD/output2.txt | awk '{print $3}' | awk -F "@" '{print $1}')
echo USER:::$user
Terminal Output---
[root]:Inbound> sh kinit.sh
+ kinit
kinit.sh: line 4:random_gibbrish : No such file or directory
+ set +x
USER:::username
it is giving me the right result but is there another way to do this?
Noob here.. need to learn how to enclose code in proper lines while asking question.. sorry for that..
https://redd.it/15uf7f3
@r_bash
When I give command kinit then it prompts me to enter the password.
[root]:Inbound> kinit
Password for username@ip_address:
I want to extract the username from the prompt that has given.
I have used set -x to achive this but it seems very primitive way
This is the noscript I am using currently.
#!bin/bash
prompt="random_gibbrish"
set -x
kinit < $prompt > $PWD/output2.txt
set +x
user=$(cat $PWD/output2.txt | awk '{print $3}' | awk -F "@" '{print $1}')
echo USER:::$user
Terminal Output---
[root]:Inbound> sh kinit.sh
+ kinit
kinit.sh: line 4:random_gibbrish : No such file or directory
+ set +x
USER:::username
it is giving me the right result but is there another way to do this?
Noob here.. need to learn how to enclose code in proper lines while asking question.. sorry for that..
https://redd.it/15uf7f3
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
my PS1 ends with a tab character, using the "home" key to go to the beginning of the line messes up visually
so for example, if I have the following entered, where
echo hi|
and I press the following keys
<home>echo<space>
then I would expect the result to be
echo |echo hi
and this does work! but if I do it twice, something weird happens. if I press <end>
echo echo hi|
and then home again, the cursor goes inside the tab character
| echo echo hi
and now if I try typing "echo "
cho |eecho echo hi
if I try pressing enter, it is as if it was typed correctly, I do get
so to summarize, the necessary steps are: put a tab character at the end of PS1. type something. press home. type something. press end, then home again. type something.
is this news? does anyone know what I should do? my prompt actually ends with
https://redd.it/15ukgbk
@r_bash
so for example, if I have the following entered, where
| means "the current cursor position":echo hi|
and I press the following keys
<home>echo<space>
then I would expect the result to be
echo |echo hi
and this does work! but if I do it twice, something weird happens. if I press <end>
echo echo hi|
and then home again, the cursor goes inside the tab character
| echo echo hi
and now if I try typing "echo "
cho |eecho echo hi
if I try pressing enter, it is as if it was typed correctly, I do get
echo echo hi. this seems to happen in both konsole and xterm so I think it is a bash bug not a terminal bug.so to summarize, the necessary steps are: put a tab character at the end of PS1. type something. press home. type something. press end, then home again. type something.
is this news? does anyone know what I should do? my prompt actually ends with
\!:<tab> so I can't just use space characters.https://redd.it/15ukgbk
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
BASH-only C/C++ shell TermiC V1.3 released
Improvements:
\- Support #ifdef/#elif/#else/#endif
\- Support the tcc compiler
\- Add command history
\- Python terminal style Ctrl-D Ctrl-C
\- Various bug fixes
https://github.com/hanoglu/TermiC
https://redd.it/15un51s
@r_bash
Improvements:
\- Support #ifdef/#elif/#else/#endif
\- Support the tcc compiler
\- Add command history
\- Python terminal style Ctrl-D Ctrl-C
\- Various bug fixes
https://github.com/hanoglu/TermiC
https://redd.it/15un51s
@r_bash
GitHub
GitHub - hanoglu/TermiC: GCC powered interactive C/C++ REPL terminal created with BASH
GCC powered interactive C/C++ REPL terminal created with BASH - hanoglu/TermiC
How do I make my prompt always displayed at the bottom of the terminal?
If I cat a large file, I would like to scroll up and down while still having my prompt displayed at the very bottom to type into. Is there a way to do this?
Also an unrelated question but related question is there a way to get back to my prompt (quickly and without entering any keyboard entries) if I do cat a large file? I can press enter but that executes the command, space but that adds a space into the line, ctrl +c but that adds a ^C. Is there a correct way to have the prompt show back up?
https://redd.it/15uq7ov
@r_bash
If I cat a large file, I would like to scroll up and down while still having my prompt displayed at the very bottom to type into. Is there a way to do this?
Also an unrelated question but related question is there a way to get back to my prompt (quickly and without entering any keyboard entries) if I do cat a large file? I can press enter but that executes the command, space but that adds a space into the line, ctrl +c but that adds a ^C. Is there a correct way to have the prompt show back up?
https://redd.it/15uq7ov
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
This may be too much to ask but I'm writing a noscript to manage my game server and it's a complete mess. It's barely readable but it basically allows me to start, stop and (eventually) backup my server. Looking for efficiency and readability tips if possible! (hope a Pastebin link is ok)
https://pastebin.com/4LRp6RuQ
https://redd.it/15uyiph
@r_bash
https://pastebin.com/4LRp6RuQ
https://redd.it/15uyiph
@r_bash
Pastebin
pzserver - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Can't merge two objects passed as --argjson to jq
I've written the following noscript to generate snippets for shellcheck automatically based on this Markdown document:
#!/usr/bin/env sh
generatesnippets() {
gslisturl='https://gist.githubusercontent.com/nicerobot/53cee11ee0abbdc997661e65b348f375/raw/d5a97b3b18ead38f323593532050f0711084acf1/shellcheck.md'
wget -O - "$gslisturl" 2> /dev/null |
jq -R '.' |
sed '1 s/"/"/; $! s/$/,/; $ s/"$/"/' |
jq 'withentries(
{
key: .value | capture("^- +\\[(?<x>SC\\d{4})\\]") | .x | asciidowncase,
value:
{
prefix: .value | capture("^- +\[(?<x>SC\\d{4})\\]") | .x | asciidowncase,
denoscription: .value | capture("SC\\d{4}\\]\\(.*?\\) (?<x>.+)$") | .x,
body: ("# shellcheck ${1|disable,enable|}=" + (.value | capture("^- +\\[(?<x>SC\\d{4})\\]") | .x))
}
}
)'
}
snippetpath=../snippets/snippets.json
jq '$ARGS.named"generated" + $ARGS.named"source"' --argjson generated "$(generatesnippets)" --argjson source "$(cat "$snippetpath")"
{
"sc1000": {
"prefix": "sc1000",
"denoscription": "$ is not used specially and should therefore be escaped.",
"body": "# shellcheck ${1|disable,enable|}=SC1000"
},
"sc1001": {
"prefix": "sc1001",
"denoscription": "This
"body": "# shellcheck ${1|disable,enable|}=SC1001"
},
"sc1003": {
"prefix": "sc1003",
"denoscription": "Want to escape a single quote? echo 'This is how it'\\\\''s done'.",
"body": "# shellcheck ${1|disable,enable|}=SC1003"
},
"sc1004": {
"prefix": "sc1004",
"denoscription": "This backslash+linefeed is literal. Break outside single quotes if you just want to break the line.",
"body": "# shellcheck ${1|disable,enable|}=SC1004"
....
The problem is
https://redd.it/15v0yf9
@r_bash
I've written the following noscript to generate snippets for shellcheck automatically based on this Markdown document:
#!/usr/bin/env sh
generatesnippets() {
gslisturl='https://gist.githubusercontent.com/nicerobot/53cee11ee0abbdc997661e65b348f375/raw/d5a97b3b18ead38f323593532050f0711084acf1/shellcheck.md'
wget -O - "$gslisturl" 2> /dev/null |
jq -R '.' |
sed '1 s/"/"/; $! s/$/,/; $ s/"$/"/' |
jq 'withentries(
{
key: .value | capture("^- +\\[(?<x>SC\\d{4})\\]") | .x | asciidowncase,
value:
{
prefix: .value | capture("^- +\[(?<x>SC\\d{4})\\]") | .x | asciidowncase,
denoscription: .value | capture("SC\\d{4}\\]\\(.*?\\) (?<x>.+)$") | .x,
body: ("# shellcheck ${1|disable,enable|}=" + (.value | capture("^- +\\[(?<x>SC\\d{4})\\]") | .x))
}
}
)'
}
snippetpath=../snippets/snippets.json
jq '$ARGS.named"generated" + $ARGS.named"source"' --argjson generated "$(generatesnippets)" --argjson source "$(cat "$snippetpath")"
generate_snippets function return snippets in this manner:{
"sc1000": {
"prefix": "sc1000",
"denoscription": "$ is not used specially and should therefore be escaped.",
"body": "# shellcheck ${1|disable,enable|}=SC1000"
},
"sc1001": {
"prefix": "sc1001",
"denoscription": "This
\\o will be a regular 'o' in this context.","body": "# shellcheck ${1|disable,enable|}=SC1001"
},
"sc1003": {
"prefix": "sc1003",
"denoscription": "Want to escape a single quote? echo 'This is how it'\\\\''s done'.",
"body": "# shellcheck ${1|disable,enable|}=SC1003"
},
"sc1004": {
"prefix": "sc1004",
"denoscription": "This backslash+linefeed is literal. Break outside single quotes if you just want to break the line.",
"body": "# shellcheck ${1|disable,enable|}=SC1004"
....
The problem is
jq hangs with two objects passed as JSON arguments. I don't get why. I wanna merge these manually written snippets with my generated ones.https://redd.it/15v0yf9
@r_bash
Gist
Enumerated shellcheck codes https://github.com/koalaman/shellcheck/wiki/Checks
Enumerated shellcheck codes https://github.com/koalaman/shellcheck/wiki/Checks - _shellcheck.md
How to remove portion of file name via noscript ?
Hello. I am studying for my RHSCA exam. What would be the easiest way to remove all dates from these file names in a noscript? So the file names would be aaa, bbb, etc.
https://preview.redd.it/8dqw4nvr94jb1.png?width=1723&format=png&auto=webp&s=7c514d1e942966a14406d0b7393328d06519e48c
https://redd.it/15vov6k
@r_bash
Hello. I am studying for my RHSCA exam. What would be the easiest way to remove all dates from these file names in a noscript? So the file names would be aaa, bbb, etc.
https://preview.redd.it/8dqw4nvr94jb1.png?width=1723&format=png&auto=webp&s=7c514d1e942966a14406d0b7393328d06519e48c
https://redd.it/15vov6k
@r_bash
Help with bash noscript needed
I need help with a noscript I am building, to auto install apps after re-installing Ubuntu. And particularly with part where I want to check if noscript runs in root mode.
The code kinda runs, but I have the problem with IF condition, particularly
​
https://preview.redd.it/ef6e7dbhz7jb1.png?width=560&format=png&auto=webp&s=fe73612f21730357b8defc3ecae7f2a2d96d4372
Obviously I am not a bash pro, I am doing it with AI help and some googling.
https://redd.it/15w515d
@r_bash
I need help with a noscript I am building, to auto install apps after re-installing Ubuntu. And particularly with part where I want to check if noscript runs in root mode.
read -rp "Enter root password: " sudo_passwordif [ "$(echo $sudo_password | sudo -S whoami)" = "root" ]; then echo "Setup has started..." install_apps cleanup exit 0 else echo "Incorrect password" exit 1 fiThe code kinda runs, but I have the problem with IF condition, particularly
sudo -S because, if I enter wrong password, sudo -S prompts to enter it again rather than executing else code block. After entering it few more times else block runs, but this is not optimal, is there a better way to check if root access is granted?​
https://preview.redd.it/ef6e7dbhz7jb1.png?width=560&format=png&auto=webp&s=fe73612f21730357b8defc3ecae7f2a2d96d4372
Obviously I am not a bash pro, I am doing it with AI help and some googling.
https://redd.it/15w515d
@r_bash
Help with comparing two file lists, only downloading new files in second list
I wrote a noscript that functions well most of the time but occasionally there is some weird behavior that I am having difficulty reproducing.
https://pastebin.com/wb4ytP5e
The problem that occurs is sometimes (usually when running the cronjob) it downloads the entire list of files instead of just the new files. Can anyone see any reasons in my code why this would happen?
My thinking is taking me towards line 75, where it checks to see if
https://redd.it/15wa2ap
@r_bash
I wrote a noscript that functions well most of the time but occasionally there is some weird behavior that I am having difficulty reproducing.
https://pastebin.com/wb4ytP5e
The problem that occurs is sometimes (usually when running the cronjob) it downloads the entire list of files instead of just the new files. Can anyone see any reasons in my code why this would happen?
My thinking is taking me towards line 75, where it checks to see if
history.tmp exists. I don't think line 76 is producing unexpected behavior, I think for some reason it's not finding history.tmp and therefore in the else statement it's taking the entire history.log as the file list. Why wouldn't it find history.tmp? And why only during the cronjob? It runs fine when I run it manually. Could there be some sort of permissions problem? Like the cronjob doesn't have permission to run line 42, where history.tmp is created in the first place?https://redd.it/15wa2ap
@r_bash
Pastebin
#!/bin/bashSCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null & - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
If ctrl + r and see a command with the arguments I like, is there anyway to extract just the arguments?
Say I have in my history
vi 1
vi 2
vi 3
and I have
Is there a manpage I can read about reverse-search utility? All of the guides online pretty much say ctrl + r is all I need to know but I'm sure there's more to it.
https://redd.it/15wil10
@r_bash
Say I have in my history
vi 1
vi 2
vi 3
and I have
cat in my prompt right now. If I press ctrl + r, is there a way to transfer the 2 into my prompt so that it reads cat 2 with minimal amount of maneuvering? Can my original cat command survive in the prompt (ctrl + r likes to delete everything currently in my prompt)?Is there a manpage I can read about reverse-search utility? All of the guides online pretty much say ctrl + r is all I need to know but I'm sure there's more to it.
https://redd.it/15wil10
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
list mounted storage devices and set them to variables.
First off I'm a complete noob at writing noscripts so I very well might be doing something stupid or over complicating things. I'm working on a noscript that will back up a select number of directories and saves them to another local directory. I'm trying to add a feature to select a mounted storage device to copy said backup to but I'm kind of stuck trying figure out how to achieve this.
This is the part of the code that works
USR=$(whoami)
day=$(date +%F+%H%M)
localdest=/home/$USR/Backups
dependencies="pv espeak tar"
temp=/tmp/temp_backups
SRC=/home/$USR/Pictures
SRC1=/home/$USR/Documents
SRC2=/home/$USR/.config
SRC3=/home/$USR/Desktop
backup=/home/$USR/RiceBackups
# Setup
if ls /home/$USR | grep RiceBackups || mkdir $backup ; then
echo "Setup complete, starting backup..."
else
echo "Setup failed."
fi
# Creates Backup
mkdir $temp &&
tar -cf - $SRC | pv -s $(du -sb $SRC | awk '{print $1}') | gzip > $temp/backup_Pics$day.tar.gz
tar -cf - $SRC1 | pv -s $(du -sb $SRC1 | awk '{print $1}') | gzip > $temp/backup_Docs$day.tar.gz
tar -cf - $SRC2 | pv -s $(du -sb $SRC2 | awk '{print $1}') | gzip > $temp/backup_Dot$day.tar.gz
tar -cf - $SRC3 | pv -s $(du -sb $SRC3 | awk '{print $1}') | gzip > $temp/backup_Desk$day.tar.gz &&
mkdir $backup/Rice$day
mv $temp/*.tar.gz $backup/Rice$day && echo "Backup complete. Saved to $backup" || echo "Backup failed."
rm -r $temp
# Clean out old backups default is 7+ days old
read -p "Clean out old rice? 7+ days old (yes/no) " yn
case $yn in
yes ) echo one sec, getting a mop;;
no ) echo exiting...;
exit;;
* ) echo invalid response;
exit 1;;
esac
echo cleaning up... one moment...
find $backup -mindepth 1 -mtime +7 -delete && echo done. || echo cleanup failed. soz.
#Copies backup to external drive
read -p "Would you like to backup to an external drive? (yes/no ) " yn
case $yn in
yes ) echo Getting list of available drives...;;
no ) echo exiting...;
exit;;
* ) echo invalid responce;
exit 1;;
esac
I copied this part for a selection menu online and am adapting it to work but this is where I'm lost.
#Select storage device menu
HEIGHT=15
WIDTH=40
CHOICE_HEIGHT=4
BACKTITLE="CopyRice V2"
TITLE="Select storage device"
MENU="Choose one of the following options:"
OPTIONS=(1 "Option 1"
2 "Option 2"
3 "Option 3")
CHOICE=$(dialog --clear \
--backnoscript "$BACKTITLE" \
--noscript "$TITLE" \
--menu "$MENU" \
$HEIGHT $WIDTH $CHOICE_HEIGHT \
"${OPTIONS[@]}" \
2>&1 >/dev/tty)
clear
case $CHOICE in
1)
echo "You chose Option 1"
;;
2)
echo "You chose Option 2"
;;
3)
echo "You chose Option 3"
;;
esac
How would I go about detecting all mounted drives and then setting them as variables to be used in this section? Again I very well might be over complicating a lot here haha
https://redd.it/15wmaxf
@r_bash
First off I'm a complete noob at writing noscripts so I very well might be doing something stupid or over complicating things. I'm working on a noscript that will back up a select number of directories and saves them to another local directory. I'm trying to add a feature to select a mounted storage device to copy said backup to but I'm kind of stuck trying figure out how to achieve this.
This is the part of the code that works
USR=$(whoami)
day=$(date +%F+%H%M)
localdest=/home/$USR/Backups
dependencies="pv espeak tar"
temp=/tmp/temp_backups
SRC=/home/$USR/Pictures
SRC1=/home/$USR/Documents
SRC2=/home/$USR/.config
SRC3=/home/$USR/Desktop
backup=/home/$USR/RiceBackups
# Setup
if ls /home/$USR | grep RiceBackups || mkdir $backup ; then
echo "Setup complete, starting backup..."
else
echo "Setup failed."
fi
# Creates Backup
mkdir $temp &&
tar -cf - $SRC | pv -s $(du -sb $SRC | awk '{print $1}') | gzip > $temp/backup_Pics$day.tar.gz
tar -cf - $SRC1 | pv -s $(du -sb $SRC1 | awk '{print $1}') | gzip > $temp/backup_Docs$day.tar.gz
tar -cf - $SRC2 | pv -s $(du -sb $SRC2 | awk '{print $1}') | gzip > $temp/backup_Dot$day.tar.gz
tar -cf - $SRC3 | pv -s $(du -sb $SRC3 | awk '{print $1}') | gzip > $temp/backup_Desk$day.tar.gz &&
mkdir $backup/Rice$day
mv $temp/*.tar.gz $backup/Rice$day && echo "Backup complete. Saved to $backup" || echo "Backup failed."
rm -r $temp
# Clean out old backups default is 7+ days old
read -p "Clean out old rice? 7+ days old (yes/no) " yn
case $yn in
yes ) echo one sec, getting a mop;;
no ) echo exiting...;
exit;;
* ) echo invalid response;
exit 1;;
esac
echo cleaning up... one moment...
find $backup -mindepth 1 -mtime +7 -delete && echo done. || echo cleanup failed. soz.
#Copies backup to external drive
read -p "Would you like to backup to an external drive? (yes/no ) " yn
case $yn in
yes ) echo Getting list of available drives...;;
no ) echo exiting...;
exit;;
* ) echo invalid responce;
exit 1;;
esac
I copied this part for a selection menu online and am adapting it to work but this is where I'm lost.
#Select storage device menu
HEIGHT=15
WIDTH=40
CHOICE_HEIGHT=4
BACKTITLE="CopyRice V2"
TITLE="Select storage device"
MENU="Choose one of the following options:"
OPTIONS=(1 "Option 1"
2 "Option 2"
3 "Option 3")
CHOICE=$(dialog --clear \
--backnoscript "$BACKTITLE" \
--noscript "$TITLE" \
--menu "$MENU" \
$HEIGHT $WIDTH $CHOICE_HEIGHT \
"${OPTIONS[@]}" \
2>&1 >/dev/tty)
clear
case $CHOICE in
1)
echo "You chose Option 1"
;;
2)
echo "You chose Option 2"
;;
3)
echo "You chose Option 3"
;;
esac
How would I go about detecting all mounted drives and then setting them as variables to be used in this section? Again I very well might be over complicating a lot here haha
https://redd.it/15wmaxf
@r_bash
Reddit
From the bash community on Reddit
Explore this post and more from the bash community
Is there a way in a noscript to enter commands with semi colon like in vim? (I dont know what this is called sorry)
​
in vim you can enter a semi colon and then this appears at the end of the screen.
I tried looking this up but I had no idea how to word it.
https://redd.it/15worgw
@r_bash
​
in vim you can enter a semi colon and then this appears at the end of the screen.
I tried looking this up but I had no idea how to word it.
https://redd.it/15worgw
@r_bash