如何在执行文件中自动实现文档的编辑?
-
- 帖子: 17
- 注册时间: 2016-06-30 20:08
如何在执行文件中自动实现文档的编辑?
最近在写一个简单的安装调用包,里面需要编辑profile文档,增加PATH变量
怎么在.sh文档中实现打开/etc/profile并在最后一行 添加固定的代码?
目前我不得不写成两个可执行文件,执行完第一个之后手动增加环境变量再执行第二个
怎么在.sh文档中实现打开/etc/profile并在最后一行 添加固定的代码?
目前我不得不写成两个可执行文件,执行完第一个之后手动增加环境变量再执行第二个
- vickycq
- 帖子: 4507
- 注册时间: 2011-03-20 13:12
- 系统: Debian
- 来自: 山东省寿光县
- 联系:
Re: 如何在执行文件中自动实现文档的编辑?
简单追加内容 重定向 >> 或用 tee -a 即可
复杂需求 使用 ed/sed/awk 一类工具
例 在 /etc/profile 最后增加 export AAA=ccc
或
复杂需求 使用 ed/sed/awk 一类工具
例 在 /etc/profile 最后增加 export AAA=ccc
代码: 全选
echo "export AAA=ccc" | tee -a /etc/profile
代码: 全选
echo "export AAA=ccc" >> /etc/profile
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
欢迎所有 Debian GNU/Linux 用户
-
- 论坛版主
- 帖子: 5253
- 注册时间: 2007-01-14 16:23
Re: 如何在执行文件中自动实现文档的编辑?
如果是一次性使用的变量,直接在脚本里面声明 export下不就完了么 还是说,你这个就是要编辑profile文件?如果要增加系统变量,建议在/etc/profile.d下面新建个文件(不是说不让编辑profile,只是这样比较不容易把profile搞乱)
#include <stdio.h>
void main()
{
double world;
unsigned letter;
short stay;
long memories;
printf("I miss you.\n");
}
void main()
{
double world;
unsigned letter;
short stay;
long memories;
printf("I miss you.\n");
}
-
- 帖子: 17
- 注册时间: 2016-06-30 20:08
Re: 如何在执行文件中自动实现文档的编辑?
我用root权限执行的时候系统提示我权限不够,用root身份执行时没有问题。那么是否意味着我执行这个shell文件时也要用root身份执行才行?vickycq 写了:简单追加内容 重定向 >> 或用 tee -a 即可代码: 全选
echo "export AAA=ccc" >> /etc/profile
事实上,source命令也提示权限不够,要在root身份下执行。目前我在一个全新的ubuntu14.04系统上debug,不知道是否由于缺少安装某个包,还是说这两个命令本来就只能在root身份下执行呢?
-
- 帖子: 17
- 注册时间: 2016-06-30 20:08
Re: 如何在执行文件中自动实现文档的编辑?
谢谢。我google了下profile中有个执行profile.d下文件的loop,刚刚亲自试了下确实可行。onlylove 写了:如果是一次性使用的变量,直接在脚本里面声明 export下不就完了么 还是说,你这个就是要编辑profile文件?如果要增加系统变量,建议在/etc/profile.d下面新建个文件(不是说不让编辑profile,只是这样比较不容易把profile搞乱)
- vickycq
- 帖子: 4507
- 注册时间: 2011-03-20 13:12
- 系统: Debian
- 来自: 山东省寿光县
- 联系:
Re: 如何在执行文件中自动实现文档的编辑?
具体说明 如何使用 root 权限执行的?guistar 写了: 我用root权限执行的时候系统提示我权限不够,用root身份执行时没有问题
若需使用 sudo:
代码: 全选
echo "export AAA=ccc" | sudo tee -a /etc/profile
代码: 全选
sudo bash -c "echo 'export AAA=ccc' >> /etc/profile"
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
欢迎所有 Debian GNU/Linux 用户
-
- 帖子: 17
- 注册时间: 2016-06-30 20:08
Re: 如何在执行文件中自动实现文档的编辑?
我之前直接在前面加上sudo, 即 sudo echo "xxx">> /etc/profile,提示权限不够。切换root身份执行就没问题。
代码: 全选
sudo bash -c "echo 'export AAA=ccc' >> /etc/profile"
- vickycq
- 帖子: 4507
- 注册时间: 2011-03-20 13:12
- 系统: Debian
- 来自: 山东省寿光县
- 联系:
Re: 如何在执行文件中自动实现文档的编辑?
sudo 只负责将字符串 echo 到标准输出,而重定向是由不具备 root 权限的当前 shell 执行的。guistar 写了:我之前直接在前面加上sudo, 即 sudo echo "xxx">> /etc/profile,提示权限不够。切换root身份执行就没问题。
可用 sudo 新开一个 shell 执行
代码: 全选
sudo bash -c "echo 'xxx' >> /etc/profile"
代码: 全选
echo "xxx" | sudo tee -a /etc/profile
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
欢迎所有 Debian GNU/Linux 用户
-
- 帖子: 17
- 注册时间: 2016-06-30 20:08
Re: 如何在执行文件中自动实现文档的编辑?
vickycq 写了:或通过 sudo 使用 tee代码: 全选
sudo bash -c "echo 'xxx' >> /etc/profile"
参考 http://askubuntu.com/a/230500代码: 全选
echo "xxx" | sudo tee -a /etc/profile
昨晚试了,是可行的操作,谢谢你!