Sponsored Content
Top Forums Shell Programming and Scripting On korn shell, how to share history between regular user and root? Post 303027859 by DevuanFan on Wednesday 26th of December 2018 10:16:10 PM
Old 12-26-2018
That's a good idea, but I wanted something more real-time, so I came up with a hack. If I put this in both ~/.kshrc and /root/.kshrc, I get what I want:



Code:
prompt_commands()
{
    if [ $(id -u) = "0" ]; then
        tail -1 /root/.ksh_history >>/home/bruno/.ksh_history
    else
        tail -1 /home/bruno/.ksh_history >>/root/.ksh_history
    fi
}

PS1='$(prompt_commands)'

Unlike bash, ksh does not have the handy PROMPT_COMMAND. However, the PS1 variable does support command substitution, which my hack exploits. As long as both user's and root's history files have write permission for "others", now whenever root runs a command that command gets appended to my regular user's history, and vice-versa.

Last edited by DevuanFan; 12-27-2018 at 02:21 PM..
This User Gave Thanks to DevuanFan For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

korn shell script to keep history of same file

Hello, How do I write a korn shell that will rename file with the current date. What I want to do is, I have a file that is re-written every day. But instead, I want to keep a 14 day history of the file. So I want to write a script that will rename the current file with a date attached to the... (2 Replies)
Discussion started by: watson2000
2 Replies

2. Shell Programming and Scripting

access user history as root

Hi, I need to access a user's command history. However, the dilemma is that he is logged in and so his current history is not yet flushed to .bash_history file which gets flushed when he logs out. Is there a way I can still access his most recent history? thank you, S (4 Replies)
Discussion started by: sardare
4 Replies

3. Shell Programming and Scripting

root user command in shell script execute as normal user

Hi All I have written one shell script for GPRS route add is given below named GPRSRouteSet.sh URL="www.google.com" VBURL="10.5.2.211" echo "Setting route for $URL for GPRS" URL_Address=`nslookup $URL|grep Address:|grep -v "#"|awk -F " " '{print $2}'|head -1` echo "Executing ... (3 Replies)
Discussion started by: mnmonu
3 Replies

4. Shell Programming and Scripting

Shell script for to view all users & groups history in root

Dear All, I want to know all users & group history in one file, for root terminal through shell or any other option (5 Replies)
Discussion started by: kpoobathi
5 Replies

5. UNIX for Advanced & Expert Users

History to Another file [local user history , but root access]

Hi all, My need is : 1. To know who , when , which command used. 2. Local user should not delete this information. I mean , with an example , i can say i have a user user1 i need to give all the following permissions to user1, : a. A specific directory other than his home... (3 Replies)
Discussion started by: linuxadmin
3 Replies

6. Shell Programming and Scripting

Korn Shell regular pattern

Hello, I can't seem to understand korn shell regular expression. I am trying to extract the tagfrom its own filename string. var="LNX_1.2.0.0.af329a3da.tar" whereby af329a3da is the tagI am trying to extract out from. I am trying to avoid using IFS because future modifications... (5 Replies)
Discussion started by: howhan
5 Replies

7. Shell Programming and Scripting

How to Login as another user through Shell script from current user[Not Root]

Hi Every body, I would need a shell script program to login as different user and perform some copy commands in the script. example: Supppose ora_toms is the active user ora_toms should be able to run a script where user: ftptomsp pass: XXX should login through and run the commands ... (9 Replies)
Discussion started by: ujjwal27
9 Replies

8. UNIX for Dummies Questions & Answers

History to Another file [local user history , but root access]

Hi all, My need is : 1. To know who , when , which command used. 2. Local user should not delete this information. I mean , with an example , i can say i have a user user1 i need to give all the following permissions to user1, : a. A specific directory other than his home... (1 Reply)
Discussion started by: sriky86
1 Replies

9. Shell Programming and Scripting

script to get user id reports korn shell

Dear Friends, Can Any one provide me script to generate list of username with the gecos field. (cat /etc/passwd | cut -d: -f1,5) Please note i have to run this command from nim server and i have password less ssh access.(ssh hostname command) and i want a file to be generated on nim... (1 Reply)
Discussion started by: vinodchauhan123
1 Replies

10. Shell Programming and Scripting

How to Switch from Local user to root user from a shell script?

Hi, I need to switch from local user to root user in a shell script. I need to make it automated so that it doesn't prompt for the root password. I heard the su command will do that work but it prompt for the password. and also can someone tell me whether su command spawns a new shell or... (1 Reply)
Discussion started by: Little
1 Replies
aepromptcmd(1)															    aepromptcmd(1)

NAME
aepromptcmd - change prompt color by change state SYNOPSIS
PROMPT_COMMAND="aepromptcmd" DESCRIPTION
The bash(1) shell has an interesting property: If the PROMPT_COMMAND vaiable is set, the value is executed as a command prior to issuing each primary prompt. (Actually, it can be a seties of semicolon separated commands.) In order to change the text back to normal, the PS1 variable needs to have "33[0m" somewhere near the end, otherwise things can get a little difficult to read. If you are using bash(1), you need to let it know these are unprintable (like this: "[33[0m]") or it messes up command line editing. The aepromptcmd command is used to set the color of the prompt, based on the state of the current change. This is an idea taken from Kent Beck's Test Driven Development book. If the change is in the being developed or being integrated state and it needs to be built, the prompt is red; if it is built but it needs to be tested, the prompt is magenta, otherwise it is green. Example Here is a short script you can put in your .bashrc file to turn on prompt coloring: if [ "$PS1" ] then case "$PROMPT_COMMAND" in "" ) PROMPT_COMMAND="aepromptcmd" PS1="$PS1^[[0m" ;; *aepromptcmd*) ;; *) PROMPT_COMMAND="$PROMPT_COMMAND;aepromptcmd" PS1="$PS1[33[0m]" ;; esac export PROMPT_COMMAND export PS1 fi Note that this usually leaves your prompt default (black) when you are not somewhere inside a development directory. Limitations The aepromptcmd command uses the ANSI color escape sequences. It really should to use the tigetstr(3) function from terminfo(3) to do this in a terminal independent way. Code contributions welcome. OPTIONS
The following options are understood: -Change number This option may be used to specify a particular change within a project. See aegis(1) for a complete description of this option. -Project name This option may be used to select the project of interest. When no -Project option is specified, the AEGIS_PROJECT environment variable is consulted. If that does not exist, the user's $HOME/.aegisrc file is examined for a default project field (see aeu- conf(5) for more information). If that does not exist, when the user is only working on changes within a single project, the project name defaults to that project. Otherwise, it is an error. -Help This option may be used to obtain more information about how to use the aepromptcmd program. -Verbose By default error messages are supressed, so that the prompt will be normal when you are outside an Aegis work area. Use this option to tuen error messages back on. See also aegis(1) for options common to all aegis commands. All options may be abbreviated; the abbreviation is documented as the upper case letters, all lower case letters and underscores (_) are optional. You must use consecutive sequences of optional letters. All options are case insensitive, you may type them in upper case or lower case or a combination of both, case is not important. For example: the arguments "-project, "-PROJ" and "-p" are all interpreted to mean the -Project option. The argument "-prj" will not be understood, because consecutive optional characters were not supplied. Options and other command line arguments may be mixed arbitrarily on the command line, after the function selectors. The GNU long option names are understood. Since all option names for aepromptcmd are long, this means ignoring the extra leading '-'. The "--option=value" convention is also understood. EXIT STATUS
The aepromptcmd command will exit with a status of 1 on any error. The aepromptcmd command will only exit with a status of 0 if there are no errors. ENVIRONMENT VARIABLES
See aegis(1) for a list of environment variables which may affect this command. See aepconf(5) for the project configuration file's project_specific field for how to set environment variables for all commands executed by Aegis. COPYRIGHT
aepromptcmd version 4.24.3.D001 Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Peter Miller The aepromptcmd program comes with ABSOLUTELY NO WARRANTY; for details use the 'aepromptcmd -VERSion License' command. This is free soft- ware and you are welcome to redistribute it under certain conditions; for details use the 'aepromptcmd -VERSion License' command. AUTHOR
Peter Miller E-Mail: millerp@canb.auug.org.au //* WWW: http://www.canb.auug.org.au/~millerp/ Reference Manual Aegis aepromptcmd(1)
All times are GMT -4. The time now is 05:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy