cor*_*cho 2 linux bash shell lamp drupal
我很多次面对这个简单而重复的任务配置LAMP或Ubuntu或Drupal中的一些东西:
我必须经常编辑配置文件(php.ini,httpd.conf,......等等),如果我不记得路径,我运行这两个命令:
locate php.ini
------- typing manually one of the paths that are shown in the list...
nano /etc/php5/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)
我确信这可以改进(无需记住路径).有更好的方法吗?
我喜欢用命令解决这个问题的方法history:你可以用!32(例如)执行历史上的一个先前命令.有没有用类似的方式locate或find命令?
Pau*_*ce. 10
如果文件或目录的名称中有空格,这将不起作用,但制作一个版本并不会太难.
choose () {
local PS3="Choose a file to edit: "
select opt in $(locate "$1") quit
do
if [[ $opt = "quit" ]]
then
break
fi
${EDITOR:-nano} "$opt"
done
}
Run Code Online (Sandbox Code Playgroud)
演示:
$ choose php.ini
1) /etc/php5/apache2/php.ini
2) /etc/php5/apache2/php.ini.ucf-old
3) /etc/php5/apache2/php.ini~
4) /etc/php5/cli/php.ini
5) /etc/php5/cli/php.ini~
6) /home/dennis/Downloads/php.ini
7) /usr/share/doc/php5-common/examples/php.ini-dist
8) /usr/share/doc/php5-common/examples/php.ini-paranoid
9) /usr/share/doc/php5-common/examples/php.ini-recommended
10) /usr/share/php5/php.ini-dist
11) /usr/share/php5/php.ini-dist.cli
12) quit
Choose a file to edit: 12
Run Code Online (Sandbox Code Playgroud)