Need help with the Script to pass stdin in run time


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need help with the Script to pass stdin in run time
# 1  
Old 08-30-2018
Need help with the Script to pass stdin in run time

I have put a script inside bash_profile of user "root". That script executes when we do "sudo su -" and prompts with a question : "Why are you logginf as root?" and users have to pass the reason then they get prompt. Inside script we have used "read -p input" to take input from user.


I am a writing a script to check if this functionality works in all servers. Something like below-

Code:
_check_whyroot()

{

_check_why=`sudo su - 2>&1`

[[ $_check_why == *"Why are you logging in as root"* ]] && [[ $? == 0 ]] && echo "Checking Whyroot Script is working...Okay"  || echo "Checking Whyroot Script is working...Not Okay"

}

_check_whyroot

The issue with this function is that it waits for the input from user when they execute it because of "read -p command" inside bash_profile of root user. And I am also not able to pass the stdin to it forcefully in the script because "sudo su -" command spawns a new shell for root user.

Is there a way I can pass an input to this so I do not need to press "enter" or pass anything manually.
# 2  
Old 08-30-2018
Your script shouldn't be doing sudo su - in the first place. Trying to automate an interactive login is the root of all that trouble. Just do sudo -u root /path/to/whateveryouwanttorun
# 3  
Old 08-30-2018
Quote:
Originally Posted by Corona688
Your script shouldn't be doing sudo su - in the first place. Trying to automate an interactive login is the root of all that trouble. Just do sudo -u root /path/to/whateveryouwanttorun
Hi Corona,

I believe I could not put my question right way.

This is already a functionality in the bash_profile of root user to make sure if ever someone do "sudo su -" he/she should be asked question that why he is becoming root. That is achived by putting a script in bash_profile of root user that uses "read -p" to take input.

Now, the purpose of the function I wrote is not automating root login, but to check when authorized users do a "sudo su -" , they get a question prompt. So my function that i wrote is just to make sure if this functionality works.

if i do sudo -u root <Command> then I will not be able to capture the question that pops up from bash_profile of root user. I need to capture that string in a variable or in a file in an automated way.
# 4  
Old 08-30-2018
Your problem is beyond me. Pls rephrase and post supporting data / scripts.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Capture run time of python script executed inside shell script

I have bash shell script which is internally calling python script.I would like to know how long python is taking to execute.I am not allowed to do changes in python script.Please note i need to know execution time of python script which is getting executed inside shell .I need to store execution... (2 Replies)
Discussion started by: Adfire
2 Replies

2. Shell Programming and Scripting

Pass argument in script to run specific part in that

Hello Friends, I need you help ! I have a scripts names runsteps.sh which contains command to run bunch of commands for each application you want to install " Oracle " Jboss" etc echo " Which app you want to install Jboss" ? Yes or no? read ans depending on Yes or not it goes inside... (3 Replies)
Discussion started by: saurabh84g
3 Replies

3. Shell Programming and Scripting

Time taken to run a SQL script

Hello I am asked to run around 5-6 SQL queries in a shell script and take a note of the time taken to execute each query to a file. How do I get the time taken to run the individual SQL queries (2 Replies)
Discussion started by: vat1kor
2 Replies

4. Shell Programming and Scripting

Bash- Command run from script does not pass full parameters with spaces inside

There's a JavaScript file that I call from command line (there's a framework) like so: ./RunDiag.js param1:'string one here' param2:'string two here' I have a shell script where I invoke the above command. I can run it in a script as simple as this #!/bin/bash stuff="./RunDiag.js... (4 Replies)
Discussion started by: AcerAspirant
4 Replies

5. Shell Programming and Scripting

Shell script to pass multiple stdin to prorgam?

Running on AIX 5.3L. I have a program "foo" written in Fortran that requires 3 levels of inputs from stdin (command prompt). > foo Enter Input 1: a Enter Input 2: b Enter Input 3: c running foo success! > How do I get a shell script to run this automatically? > echo "a" | foo... (2 Replies)
Discussion started by: discoganya
2 Replies

6. Shell Programming and Scripting

last run time of any script

how to find when last time a scrit has ran? (7 Replies)
Discussion started by: RahulJoshi
7 Replies

7. Shell Programming and Scripting

run script for given time

Hi! I need to run my script for a specific number of time, as specified by the user: For instance, if the user specified 10, my script should run for until 10 seconds expire. How do I do this? (0 Replies)
Discussion started by: looza
0 Replies

8. Shell Programming and Scripting

Run script at same time

Hi My five script run throgh crontab at same time at 6 clock. Due to problem in the data load .Now I want to check time of load finish run these jobs. I create a script which check the load finish time but I have no idea how I run these JObs. This is very urget to me. Please reply me as soon... (3 Replies)
Discussion started by: Jamil Qadir
3 Replies

9. UNIX for Advanced & Expert Users

run script in autosys at a specified time.

I have created a shell script. I want to run the script in Autosys. Please note my shell script runs as "$ ksh run.ksh" How do I make autosys run this script at 5:00PM every day? insert_job: abc job_type: c box_name: run.box command: ksh run.ksh machine: mach1 #owner: mach1@mymach... (1 Reply)
Discussion started by: gram77
1 Replies

10. Shell Programming and Scripting

How to pass stdin to java?

I have a java program that uses jtidy to read from stdin and write to stdout. I want to use this with vi or vim. The problem is that the java class paths are pretty ugly. How do I write a bash script that looks like this: ./jtidy.sh <inputfile.html >outputfile.html and has the same effect... (0 Replies)
Discussion started by: siegfried
0 Replies
Login or Register to Ask a Question