[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
test if shell is interactive
From: |
tapczan |
Subject: |
test if shell is interactive |
Date: |
Sun, 22 Jan 2012 06:39:59 -0800 (PST) |
Simple script a.sh:
#!/bin/bash
echo "PS1: $PS1"
Variable $PS1 is present:
# echo $PS1
\[\033[01;32m\]$USER@\h \[\033[00m\]\A \[\033[01;34m\]\w\[\033[00m\]\$
Variable $PS1 is environment:
# env | grep PS1
PS1=\[\033[01;32m\]$USER@\h \[\033[00m\]\A \[\033[01;34m\]\w\[\033[00m\]\$
Executing script:
# ./a.sh
PS1:
Variable PS1 is empty in child process.
Whether the enviroment variable should not be copied to the child process?
Am I doing something wrong?
Popular methods to test if shell is interactive or not don't work for me:
1.
case "$-" in
*i*) echo This shell is interactive ;;
*) echo This shell is not interactive ;;
esac
2.
if [ -z "$PS1" ]; then
echo This shell is not interactive
else
echo This shell is interactive
fi
--
View this message in context:
http://old.nabble.com/test-if-shell-is-interactive-tp33183345p33183345.html
Sent from the Gnu - Bash mailing list archive at Nabble.com.
- test if shell is interactive,
tapczan <=