Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Bash script does not work as expected Post 303034882 by MadeInGermany on Wednesday 8th of May 2019 03:47:51 PM
Old 05-08-2019
The following appends even the first line as a new line, so the initial empty string becomes an empty line:
Code:
 note=""
 while [ "$not" != "==================================" ]; do
  read not
  note="$note
$not"
 done

You must either branch on a state variable (e.g. $firstrun), or use the "$separator variable" trick as follows:
Code:
 note="" sep=""
 while
  read not &&
  [ "$not" != "==================================" ]
 do
  note="$note$sep$not"
  sep="
"
 done

EDIT: I have changed the oder of read and [ ]. Otherwise one must initialize not="" (or it might have the value from a previous cycle).

Last edited by MadeInGermany; 05-09-2019 at 04:26 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script doesn't work as expected when run on cron

The script checks for free space stats on Oracle. If there are any tablespaces with more than 85% usage it prints the details of the tablespace. If all the tablespaces have more than 15% free space, then "All tablespaces have more than 15 pct free space" must be printed on the screen. When I run... (2 Replies)
Discussion started by: RoshniMehta
2 Replies

2. Shell Programming and Scripting

Bash script on startup does not respond as expected

Hi, I have a bash script which I have referenced in the rc.local of my fedora linux OS. However it doesnt respond the same as when run in terminal from fedora. The bash script has a series of interactive questions that require user input as shown: #!/bin/bash echo "Do you want to use... (1 Reply)
Discussion started by: Crigamorfin
1 Replies

3. UNIX for Dummies Questions & Answers

For some reason, my grep doesn't work as expected

I am trying to find only those entries where 7018 and another number appear in the end of the line. 7018 2828 1423 2351 7018 2828 14887 2828 7018 1222 123 7018 1487 I am looking for a way to generate only the last two lines. I was trying to do just "grep '7018{1,5}" but it does not... (5 Replies)
Discussion started by: Legend986
5 Replies

4. Shell Programming and Scripting

bash script error with binary operator expected.

Hello, I am not sure, where I am missing in the scirpt, I am trying to grep few users from /etc/passwd file and if exists, I added line to echo as user exist, if not create it. #!/bin/bash for vid in v707 z307 z496 z163 z292 ; do if then echo " $vid User exists " else ... (2 Replies)
Discussion started by: bobby320
2 Replies

5. Shell Programming and Scripting

Joining Two Files Does not Work as Expected

Hi, I would like some help with the above awk command. I am trying to use the join command to join two files, no luck. I need to put the second column from file2.txt into each matching field of file1.txt. It works OK up to the value of 1000 of the matching column (1at column in both... (13 Replies)
Discussion started by: yirgacheffe
13 Replies

6. Shell Programming and Scripting

Getting error in bash script; expr $a + 1: integer expression expected

Hi, I am new to shell/bash script. I am trying to run below script #!/bin/bash a=0 b=10 if then echo "a is equal to be" else echo "a is not equal to be" fi MAX=10 while do echo $a a='expr $a + 1' done (1 Reply)
Discussion started by: Mallikgm
1 Replies

7. UNIX for Dummies Questions & Answers

sed command does not work as expected

Why when I use this command do I get "E123"? echo NCE123 | sed -n 's/\(.*\)\(\{1,\}\{1,5\}\)\(.*\)/\2/p' But when I used this command, I get NCE123? echo NCE123 | sed -n 's/\(.*\)\(\{3\}\{1,5\}\)\(.*\)/\2/p' I thought \{1,\} would mean any number of characters and \{1,5\ would mean 1-5... (1 Reply)
Discussion started by: newbie2010
1 Replies

8. Shell Programming and Scripting

Why my SETUID does not work as expected?

Hi All, Thanks for your help in advanced. Could you please kindly help on why my SETUID does not work? create a file, only root can read write it /tmp>ls -l a.log -rw------- 1 root root 3 Nov 12 18:57 a.log create a script under root with SETUID /tmp>ls -l a.sh -rwsr-sr-x 1 root... (3 Replies)
Discussion started by: summer_cherry
3 Replies

9. Shell Programming and Scripting

Encyrpt does not work in bash script

Hi All, I am looking here from any one. I am preparing script for create user and set password to remote servers. I have made password less. and able to add user and also able to set entry in /etc/shadow. But it does not make complete entry in shadow file. it lefts initial... (6 Replies)
Discussion started by: yash_message
6 Replies

10. Shell Programming and Scripting

Bash script unable to disable expected output

I'm trying to understand why a script behaves different when run through a pipe. My OS: Linux myip 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:42:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux This script (myscript.sh): #!/bin/bash echo whoami: whoami echo who: who echo who... (2 Replies)
Discussion started by: SkySmart
2 Replies
NOTEDB::binary(3pm)					User Contributed Perl Documentation				       NOTEDB::binary(3pm)

NAME
NOTEDB::binary - module lib for accessing a notedb from perl SYNOPSIS
# include the module use NOTEDB; # create a new NOTEDB object $db = new NOTEDB("binary", "/home/tom/.notedb", 4096, 24); # decide to use encryption # $key is the cipher to use for encryption # $method must be either Crypt::IDEA or Crypt::DES # you need Crypt::CBC, Crypt::IDEA and Crypt::DES to have installed. $db->use_crypt($key,$method); # do not use encryption # this is the default $db->no_crypt; # get a single note ($note, $date) = $db->get_single(1); # search for a certain note %matching_notes = $db->get_search("somewhat"); # format of returned hash: #$matching_notes{$numberofnote}->{'note' => 'something', 'date' => '23.12.2000 10:33:02'} # get all existing notes %all_notes = $db->get_all(); # format of returnes hash like the one from get_search above # get the next noteid available $next_num = $db->get_nextnum(); # modify a certain note $db->set_edit(1, "any text", "23.12.2000 10:33:02"); # create a new note $db->set_new(5, "any new text", "23.12.2000 10:33:02"); # delete a certain note $db->set_del(5); # turn on encryption. CryptMethod must be IDEA, DES or BLOWFISH $db->use_crypt("passphrase", "CryptMethod"); # turn off encryption. This is the default. $db->no_crypt(); DESCRIPTION
You can use this module for accessing a note database. There are currently two versions of this module, one version for a SQL database and one for a binary file (note's own database-format). However, both versions provides identical interfaces, which means, you do not need to change your code, if you want to switch to another database format. Currently, NOTEDB module is only used by note itself. But feel free to use it within your own project! Perhaps someone want to implement a webinterface to note... USAGE
please see the section SYNOPSIS, it says it all. AUTHOR
Thomas Linden <tom@daemon.de>. perl v5.10.1 2009-07-19 NOTEDB::binary(3pm)
All times are GMT -4. The time now is 02:02 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy