導航:首頁 > 操作系統 > linuxshell交互

linuxshell交互

發布時間:2022-09-27 16:41:59

linux shell自動交互問題,求大神解

那就不要用判斷, 直接在頂部寫入過濾條件, 然後就執行下面的了。上面是C程序, 不知道樓主到底要幹嘛的

Ⅱ linux中的shell是什麼有什麼作用

Shell是人機交互用的一個程序。
用戶有shell了就可以登陸系統並且可以用命令和系統交互,肯定不安全。
沒有shell就無法用命令去和系統對話,自然安全多了。
最「土」的辦法就是用用戶名和密碼登陸一下,能進去就是有用戶shell,進不去就是沒有用戶shell。

Ⅲ Linux里,什麼是shell環境

shell是用戶與作業系統之間的交互層,用戶修改其環境,設置或取消shell的環境變數,迎合用戶的需要和愛好。shell本身就是一個電腦程序,用C語言編寫,為協助用戶與作業系統之間通訊而設計,管理用戶與核心之間對話,
把作業系統指令換成機器代碼,其實PC用戶常用的DOS,本身就是一個shell。
shell的主要任務是:提示用戶打入指令,讀指令,轉換指令為核心所能理解的語言。此外,shell可以看作為指令解釋程序,提供一些工具,亦可以利用shell的編寫工具,構造電腦程序。

Ⅳ 如何使用python3.4與Linux shell交互

下面來看下在python3.4中,如何與Linux交互的。

在python裡面可以操作linux的命令有

1,os.system("cmd")

2,os.open("cmd")

3,spawn*

4,subprocess

在最新的python里,推薦使用subprocess來與shell通信,它會生成一個子進程來連接輸出,輸入,錯誤等shell下3中標準的輸入輸出流,並返回執行結果的狀態碼0和1,來判斷本次執行命令的成功與失敗。

下面來看一個小例子,首先,確保你的linux環境支持python3.4,如果不支持,你可以參考散仙的上篇文章來安裝python3.4

首先,在linux,執行python命令找到最新的python3.4的路徑,然後再py文件里聲明頭部路徑,如果不知道python的具體安裝路徑,可以使用which python來查找路徑

[root@master ~]# py
pydoc pydoc3.4 python2 python3 python3.4-config python3.4m-config pyvenv
pydoc3 python python2.6 python3.4 python3.4m python3-config pyvenv-3.4
[root@master ~]# which python3.4
/usr/local/python3.4/bin/python3.4
[root@master ~]#
寫完腳本之後,先給腳本賦值許可權,再執行:

[root@master rtt]# chmod +x b.py
[root@master rtt]# cat b.py
#!/usr/local/python3.4/bin/python3.4

import subprocess as t

v=t.call("ls")

print ("返回值: ",v)

[root@master rtt]# b.py
a.py b.py b.txt
返回值: 0
[root@master rtt]#
看下面的例子,注意python的shell執行,返回的是一個字元串,如果我們想逐行解析,需要使用如下方法:

[root@master rtt]# cat b.txt
id name
1 a

2 戰三

3 b
[root@master rtt]# cat a.py
#!/usr/local/python3.4/bin/python3.4

import os
import subprocess as t

#var=t.getoutput("df -h")

#v=t.call("ls")

#var=t.getoutput("cat b.txt | grep a ")
var=t.getoutput("df -h | cat -n ")

for line in var.split("\n"):
print("這一行:" +line)

#print(var)

[root@master rtt]# a.py
這一行: 1 Filesystem Size Used Avail Use% Mounted on
這一行: 2 /dev/sda2 9.7G 2.9G 6.3G 32% /
這一行: 3 tmpfs 495M 0 495M 0% /dev/shm
這一行: 4 /dev/sda1 194M 28M 157M 15% /boot
這一行: 5 /dev/sda3 9.9G 948M 8.5G 10% /home
[root@master rtt]#
最後看下python的兩種,生成行號的方式:

tt="你好\n哈嘍"

for i,it in enumerate(tt.split("\n")):
print(i,it)

for line in range(len(tt.split("\n"))):
print(line," ",tt.split("\n")[line])
輸出結果如下:

0 你好
1 哈嘍
0 你好
1 哈嘍

Ⅳ linux桌面新建啟動器,如何新開一個窗口執行shell交互腳本

創建一個Terminal 終端來彈出一個窗口,
提示輸入運行這個腳本:

urxvt -e sh file.sh

xterm -e sh file.sh

Ⅵ 在Linux shell腳本中,安裝過程中如何實現自動選擇安裝選項

在Linux shell腳本中,安裝過程中如何實現自動選擇安裝選項?
Linux中shell腳本運行時經常需要進行交互,比如安裝軟體的過程中對license聲明的確認,需要輸入yes,回車之類的確認信息。這個在自動化安裝的時候就會是個問題。

通常對於這個問題比較靈活的解決方法就是TCL的Expect。但Expect還需要另外安裝,平台通用性不高,比較麻煩。

另外一些簡單的方法倒也是有,不過可用性不高,特別是對要求多次交互就吃力了。但怎麼說其還是能解決大多數的問題,因為復雜的情況還是比較少的。比 如要一個調用一個安裝腳本 : installWAS.sh, 這個腳本要求輸入回車,則可以:echo | installWAS.sh;如果要求輸入yes|no,加回車,則可以echo yes|installWAS.sh. 這下自動化安裝就有希望了。

再有一下的代碼也可以帶來一些思路:

[0 No.2015 huan@huan ~/tmp]$ cat foo read -s -n1 -p "Press any key to continue ... " echo "Your inputs: $REPLY"
[0 No.2016 huan@huan ~/tmp]$ ./foo < /dev/null Your inputs:
[0 No.2017 huan@huan ~/tmp]$

Ⅶ Linux如何在互動式shell腳本中創建對話框

互動式shell沒有圖形化界面何來對話框?
無非只是
對話模式
echo
"請輸入你的名字:"read
nameecho
"你的名字是
$name"

閱讀全文

與linuxshell交互相關的資料

熱點內容
找漫畫看應該下載什麼app 瀏覽:180
如何在vps上搭建自己的代理伺服器 瀏覽:744
nginxphp埠 瀏覽:403
內臟pdf 瀏覽:152
怎麼看雲伺服器架構 瀏覽:85
我的世界國際服為什麼登不進伺服器 瀏覽:996
微盟程序員老婆 瀏覽:930
intellij創建java 瀏覽:110
java連接odbc 瀏覽:38
啟動修復無法修復電腦命令提示符 瀏覽:359
手機編程是什麼 瀏覽:98
山東移動程序員 瀏覽:163
蘇州java程序員培訓學校 瀏覽:479
單片機液晶驅動 瀏覽:855
魔拆app里能拆到什麼 瀏覽:132
新預演算法的立法理念 瀏覽:144
wdcpphp的路徑 瀏覽:134
單片機p0口電阻 瀏覽:926
瀏覽器中調簡訊文件夾 瀏覽:594
五菱宏光空調壓縮機 瀏覽:69