私のスクリプトのいくつか(キーマップの変更、公開鍵の追加)は、仮想コンソールとxtermで異なる動作をする必要があります。本物のコードは何ですか?
#!/bin/ksh
if [[ in_a_virtual_console ]]; then
...
else
...
fi
ベストアンサー1
対話型シェルと非対話型シェルを区別するには、組み込みtest
サポートを使用してこれを検出します(kshにあるかどうかはわかりませんが、coreutilsのバイナリもサポートしています)。
test -t 0 # will return 0 for interactive shells
tty/pty/ptsまたは他の項目にあるかどうかを本当に知りたい場合は、次の出力を解析してくださいtty
。
$ tty # konsole
/dev/pts/4
$ tty # virtual terminal
/dev/tty2