linux 下想执行一条命令,想双击之后执行,,就类似win下的.bat文件怎么做?

比如sudo /etc/init.d/ssh start这句,我写在一个文件里,然后我双击运行这个文件就自动运行这个文件,怎么做?

这个问题其实很好办,写一个脚本就可以办到,脚本内容如下:
#!bin/bash
sudo /etc/init.d/ssh start
这个脚本的名字就很随意了,因为Linux中文件是否能执行和扩展名没有什么关系。建议给予这个文件足够的权限,比如让所有用户都能执行它就行了。命令:chmod a+x xxx (xxx为脚本的名字)。
如果这个机器仅仅是你自己在用,并不是搞一个什么正经的服务器的话(服务器要考虑安全),这个脚本可以放置在/bin目录下,之后你执行这个脚本就很方便了。直接在终端输入这个脚本的名字就可以执行了。
如果你是真正在学Linux,你会发现鼠标实际上用的不是很多的,建议还是正经的学点命令行吧,Linux下工作站上很少能看到鼠标的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-17
写一个bash角本,例如叫:script.sh ,内容如下:
#/bin/bash
sudo /etc/init.d/ssh start

然后,保存该角本文件,不要在windows下写角本内容,有DOS字符。
在终端窗口下,chmod 755 script.sh 更改角本权限
在终端窗口下,执行./script.sh 就可以了
如果想周期执行,可用crontab来自:求助得到的回答
第1个回答  2013-02-17
写大一个文件件里,并赋予它可执行权限。
如在123.sh中写入
#!/bin/bash
sudo /etc/init.d/ssh start
切换到命令行,
chmod +x 123.sh
第2个回答  推荐于2017-11-28
脚本名称记好 例如 123.sh

然后在里面写
#!/bin/bash

nohup /etc/init.d/ssh start > 123.log(爱输出到哪儿输出到哪儿 到/dev/null也行)

保存后即可执行
要结束的时候 ps aux |grep 123.sh
然后 kill掉查到的进程号即可追问

echo passwd|nohup sudo /etc/init.d/ssh start > 123.log

想这样给sudo输入密码,但是还提示我输入密码,,这是为神码?

追答

两个办法
1 nohup sudo /etc/init.d/ssh start > 123.log <<!
密码
!

2 直接让该用户sudo不需要密码
/etc/soduer 首先修改该文件可写
然后加入
用户名 ALL=(ALL) NOPASSWD: ALL
保存后记得去掉写权限

追问

#!/bin/bash
nohup sudo python ~/下载/fq/goagent/local/proxy.py 2>11.log 1>123.log<<!
passwd
!
还是提示输入密码

追答

哦 搞错了 这种方式是用来给前面的语句输入指令的 不好意思
在你上面的命令的sudo 后面加参数-S 即可

本回答被提问者采纳
第3个回答  2013-02-17
ln -s /etc/init.d/ssh /root/desktop/ssh 双击ssh就可以运行
相似回答