Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Bash script does not work as expected Post 303034832 by cesar60 on Tuesday 7th of May 2019 10:08:47 PM
Old 05-07-2019
Bash script does not work as expected

Repeat this text in a file named notes.txt and run the script
Before bash is a good language a blank line appears
Also, the following notes are displayed incorrectly
What is bad?

Code:
==================================
Title   : Note 1
==================================
Category: Computer
Date    : 2019-04-28 17:34:19
==================================
BASH is good language
==================================
1
2


'
 while : ; do
 read line1
 read tit
 read line2
 read cat
 read dat
 read line3
 note=""
 while [ "$not" != "==================================" ]; do
  read not
  note="$note
$not"
 done
 read nro1
 read nro2
#=============================================
# note.tmp
#=============================================
 echo "$line1" >note.tmp
 echo "$tit" >>note.tmp
 echo "$line2" >>note.tmp
 echo "$cat" >>note.tmp
 echo "$dat" >>note.tmp
 echo "$line3" >>note.tmp
 echo "$note" >>note.tmp
 echo "$nro1" >>note.tmp
 echo "$nro2" >>note.tmp
 clear
 cat note.tmp
 read -p "Press enter to continue" jj </dev/tty
done <notes.txt
'


Moderator's Comments:
Mod Comment
Please wrap all code, data/files, input & output/errors in CODE tags.
It makes them easier to read and preservces spacing for indented code or fixed-width data.

Last edited by rbatte1; 05-08-2019 at 08:41 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
BINDEC(3)								 1								 BINDEC(3)

bindec - Binary to decimal

SYNOPSIS
number bindec (string $binary_string) DESCRIPTION
Returns the decimal equivalent of the binary number represented by the $binary_string argument. bindec(3) converts a binary number to an integer or, if needed for size reasons, float. bindec(3) interprets all $binary_string values as unsigned integers. This is because bindec(3) sees the most significant bit as another order of magnitude rather than as the sign bit. PARAMETERS
o $binary_string - The binary string to convert Warning The parameter must be a string. Using other data types will produce unexpected results. RETURN VALUES
The decimal value of $binary_string EXAMPLES
Example #1 bindec(3) example <?php echo bindec('110011') . " "; echo bindec('000110011') . " "; echo bindec('111'); ?> The above example will output: 51 51 7 Example #2 bindec(3) interprets input as unsigned integers <?php /* * The lesson from this example is in the output * rather than the PHP code itself. */ $magnitude_lower = pow(2, (PHP_INT_SIZE * 8) - 2); p($magnitude_lower - 1); p($magnitude_lower, 'See the rollover? Watch it next time around...'); p(PHP_INT_MAX, 'PHP_INT_MAX'); p(~PHP_INT_MAX, 'interpreted to be one more than PHP_INT_MAX'); if (PHP_INT_SIZE == 4) { $note = 'interpreted to be the largest unsigned integer'; } else { $note = 'interpreted to be the largest unsigned integer (18446744073709551615) but skewed by float precision'; } p(-1, $note); function p($input, $note = '') { echo "input: $input "; $format = '%0' . (PHP_INT_SIZE * 8) . 'b'; $bin = sprintf($format, $input); echo "binary: $bin "; ini_set('precision', 20); // For readability on 64 bit boxes. $dec = bindec($bin); echo 'bindec(): ' . $dec . " "; if ($note) { echo "NOTE: $note "; } echo " "; } ?> Output of the above example on 32 bit machines: input: 1073741823 binary: 00111111111111111111111111111111 bindec(): 1073741823 input: 1073741824 binary: 01000000000000000000000000000000 bindec(): 1073741824 NOTE: See the rollover? Watch it next time around... input: 2147483647 binary: 01111111111111111111111111111111 bindec(): 2147483647 NOTE: PHP_INT_MAX input: -2147483648 binary: 10000000000000000000000000000000 bindec(): 2147483648 NOTE: interpreted to be one more than PHP_INT_MAX input: -1 binary: 11111111111111111111111111111111 bindec(): 4294967295 NOTE: interpreted to be the largest unsigned integer Output of the above example on 64 bit machines: input: 4611686018427387903 binary: 0011111111111111111111111111111111111111111111111111111111111111 bindec(): 4611686018427387903 input: 4611686018427387904 binary: 0100000000000000000000000000000000000000000000000000000000000000 bindec(): 4611686018427387904 NOTE: See the rollover? Watch it next time around... input: 9223372036854775807 binary: 0111111111111111111111111111111111111111111111111111111111111111 bindec(): 9223372036854775807 NOTE: PHP_INT_MAX input: -9223372036854775808 binary: 1000000000000000000000000000000000000000000000000000000000000000 bindec(): 9223372036854775808 NOTE: interpreted to be one more than PHP_INT_MAX input: -1 binary: 1111111111111111111111111111111111111111111111111111111111111111 bindec(): 18446744073709551616 NOTE: interpreted to be the largest unsigned integer (18446744073709551615) but skewed by float precision NOTES
Note The function can convert numbers that are too large to fit into the platforms integer type, larger values are returned as float in that case. SEE ALSO
decbin(3), octdec(3), hexdec(3), base_convert(3). PHP Documentation Group BINDEC(3)
All times are GMT -4. The time now is 05:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy