.\" -*-Nroff-*- .\" .TH "setconf" 1 "06 Jul 2020" "" "" .SH "نام (NAME)" setconf \- تغییر تنظیمات در فایل‌های متنی پیکربندی .SH "خلاصه دستور (SYNOPSIS)" .B setconf filename key value [رشته پایانی برای مقدار چندخطی] .SH "توضیحات (DESCRIPTION)" اگر یک فایل متنی با فیلدهایی شبیه به این‌ها وجود داشته باشد: .sp .B "CC=gcc" .sp .B "lights := on" .sp .B "compileToday: true" .sp .B "anumber = 42" .sp .B "cabal ==1.2.3" .sp دستور setconf می‌تواند این مقادیر را به چیز دیگری تغییر دهد. مقدار مرتبط با نخستین کلیدِ یافت‌شده، به مقدار ارائه‌شده تغییر خواهد کرد. .sp برای نمونه، .B "CC " یک کلید و .B "gcc " یک مقدار است. .SH "مثال‌ها (EXAMPLES)" .B setconf با کد خطای ۱ خارج می‌شود .sp .B setconf Makefile.defaults NETSURF_USE_HARU_PDF NO در Makefile.defaults، مقدار NETSURF_USE_HARU_PDF را به NO تنظیم می‌کند .sp .B setconf Makefile CC gcc در Makefile، مقدار CC=gcc را تنظیم می‌کند .sp .B setconf PKGBUILD sha256sums \(dq('123abc' 'abc123')\(dq ')' در فایل PKGBUILD، فارغ از اینکه مقدار پیشین چند خط را در بر گرفته است، مقدار کلیدهای sha256sums را به ('123abc' 'abc123') تنظیم می‌کند، زیرا رشته پایانی ')' مشخص شده است. .sp .B setconf app.py NUMS \(dq[1, 2, 3]\(dq ']' جایگزینی چندخطی؛ تعویض متن از مقدار متعلق به کلید NUMS تا رشته پایانی ] با مقدار [1, 2, 3]، صرف‌نظر از اینکه مقدار پیشین چند خط را در بر گرفته باشد. .sp .B setconf my.conf x=1 مقدار x را در my.conf به 1 تنظیم می‌کند، حتی اگر my.conf از انتساب متفاوتی مانند x := 42، x : 42، x == 42، x :: 42 یا x => 42 استفاده کرده باشد. .sp .B setconf -a server.ini 'Z => 99' عبارت Z => 99 را به server.ini اضافه می‌کند .sp .B setconf --add rolling.conf N 1000 عبارت N=1000 را اضافه می‌کند. در صورت نیاز، فایل را ایجاد می‌نماید. .sp .B setconf test.file y-=0.1 مقدار y را به میزان 0.1 کاهش می‌دهد. .sp .B setconf values.conf x+=2 مقدار x را به میزان 2 افزایش می‌دهد. .sp .B setconf -d linux/printk.h CONSOLE_LOGLEVEL_DEFAULT=4 مقدار #define CONSOLE_LOGLEVEL_DEFAULT را به 4 تغییر می‌دهد .sp .B setconf -u kernel_config CONFIG_ULTRIX_PARTITION=y کلید CONFIG_ULTRIX_PARTITION=y را از حالت کامنت خارج کرده و تنظیم می‌کند، حتی اگر مقدار اصلی دارای پسوند "is not set" باشد. برای استفاده در پیکربندی هسته لینوکس در نظر گرفته شده است. .PP .SH "گزینه‌ها (OPTIONS)" .TP .B \-v یا \-\-version شماره نسخه فعلی را نمایش می‌دهد .TP .B \-h یا \-\-help اطلاعات مختصر درباره نحوه استفاده را نمایش می‌دهد .TP .B \-t یا \-\-test آزمون‌های خودکار داخلی را اجرا می‌کند .TP .B \-a یا \-\-add اگر گزینه از قبل وجود نداشته باشد، آن را اضافه می‌کند. باید به دنبال آن یک نام فایل و یک جفت کلید/مقدار بیاید. .TP .B \-d یا \-\-define مقدار یک #define تک‌خطی را تغییر می‌دهد .TP .B \-u یا \-\-uncomment پیش از تغییر مقدار، کلید را از حالت کامنت خارج می‌کند .PP .SH "چرا (WHY)" .sp با پیروی از روحیه‌ی حقیقی UNIX، هدف آن حل اصولی یک مشکل کوچک به جای حل نیمه‌کاره‌ی هزار مشکل است .sp در مقایسه با استفاده از sed برای همین کار، دستوری ایجاد می‌کند که خواندن آن بسیار آسان است .sp باید از ساختار دستوری کاملاً مشخص باشد چه کاری در حال انجام است .sp تنها یک فایل اجرایی کوچک، نه یک بسته‌ی بزرگ نرم‌افزاری .SH "همچنین ببینید (SEE ALSO)" .BR sed (1) .BR make (1) .SH "گزارش باگ‌ها (BUGS)" تاکنون تنها اشکالات ناشناخته وجود دارند. باگ‌ها را می‌توان در https://github.com/xyproto/setconf/issues گزارش کرد. .SH "نسخه (VERSION)" 0.7.7 .SH "نویسندگان (AUTHORS)" .B setconf توسط Alexander F. Rødseth و مشارکت‌کنندگان نوشته شده است