grep -vSorgularla ilgili garip bir sorunum var . Açıklamama izin ver:
Kullandığım bağlantıları görüntülemek için who:
$ who
harry pts/0 2016-12-08 20:41 (192.168.0.1)
james pts/1 2016-12-08 19:28 (192.168.0.1)
timothy pts/2 2016-12-08 02:44 (192.168.0.1)
ttyTerminalimin akımıpts/0
$ tty
/dev/pts/0
$ tty | cut -f3-4 -d'/'
pts/0
Kullanarak kendi bağlantımı dışlamaya çalışıyorum grep -v $(tty | cut -f3-4 -d'/'). Bu komutun beklenen çıktısı, whobağlantım olmadan olmalıdır . Ancak, çıktı en beklenmedik:
$ who | grep -v $(tty | cut -f3-4 -d'/')
grep: a: No such file or directory
grep: tty: No such file or directory
Ben $(...)tırnak içine alın ve bu "Böyle bir dosya veya dizin yok" sorunu gidermek gibi görünüyor. Ancak, tty ( pts/0) yöntemim hariç tutulsa bile bağlantım hala yazdırılıyor :
$ who | grep -v "$(tty | cut -f3-4 -d'/')"
harry pts/0 2016-12-08 20:41 (192.168.0.1)
james pts/1 2016-12-08 19:28 (192.168.0.1)
timothy pts/2 2016-12-08 02:44 (192.168.0.1)
Bu noktadan itibaren, grepsorgunun neden hatalı çalıştığına dair hiçbir fikrim yok .
grep"tty değil" diyorum . Bunun üstesinden gelmemi nasıl önerirsiniz?
set -xİlk kullanmaya ne dersiniz ... Sonra komutunuzu çalıştırın ve aslında ne yapmaya çalıştığınızı görüngrep...